エージェントAPI
外部からナレッジにアクセスするための REST API と MCP Server インターフェースです。
概要
mermaid
flowchart LR
subgraph Clients["クライアント"]
WebUI["Web UI"]
CLI["CLI"]
Claude["Claude Desktop"]
Agent["AIエージェント"]
end
subgraph API["Agent API"]
REST["REST API\n(Next.js)"]
MCP["MCP Server\n(stdio)"]
end
subgraph Store["データストア"]
DB["SQLite"]
end
WebUI --> REST
CLI --> DB
Claude --> MCP
Agent --> MCP
REST --> DB
MCP --> DBREST API
Next.js の App Router で実装された REST API です。全エンドポイントに JWT 認証が必要です。
詳細は REST API 仕様 を参照。
主要エンドポイント
| メソッド | パス | 機能 |
|---|---|---|
| GET | /api/bookmarks | ブックマーク一覧(フィルタ、ページネーション) |
| GET | /api/search/ai | AI セマンティック検索 |
| POST | /api/categorize | AI分類パイプライン開始 |
| GET | /api/categorize | 分類進捗(SSE) |
| GET | /api/stats | 統計情報 |
| GET | /api/mindmap | グラフデータ |
MCP Server
Claude Desktop やその他の MCP クライアントから利用できるツールインターフェースです。
詳細は MCP Server 仕様 を参照。
提供ツール
| ツール | 機能 |
|---|---|
search | ナレッジ検索 |
oss_report | OSS検証レポート取得 |
recommend | プロジェクトへの推薦 |
ask | 自然言語での質問応答 |
trends | トレンドサマリー |
認証フロー
mermaid
sequenceDiagram
participant Client as クライアント
participant Auth as 認証ミドルウェア
participant API as API ハンドラー
participant DB as SQLite
Client->>Auth: リクエスト + JWT Token
Auth->>Auth: Token 検証
alt Token 有効
Auth->>API: リクエスト転送
API->>DB: データ取得
DB-->>API: 結果
API-->>Client: 200 OK + データ
else Token 無効/期限切れ
Auth-->>Client: 401 Unauthorized
endCLI ダイレクトアクセス
サーバーを起動せずに cli/siftly.ts からデータベースに直接アクセスできます。AIエージェントのツールとしても利用可能です。
bash
# JSON出力(TTY: pretty-printed, パイプ: compact)
npx tsx cli/siftly.ts stats
npx tsx cli/siftly.ts search "AI agents"
npx tsx cli/siftly.ts list --limit 5 --category ai-tools