Skip to content

エージェント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 --> DB

REST API

Next.js の App Router で実装された REST API です。全エンドポイントに JWT 認証が必要です。

詳細は REST API 仕様 を参照。

主要エンドポイント

メソッドパス機能
GET/api/bookmarksブックマーク一覧(フィルタ、ページネーション)
GET/api/search/aiAI セマンティック検索
POST/api/categorizeAI分類パイプライン開始
GET/api/categorize分類進捗(SSE)
GET/api/stats統計情報
GET/api/mindmapグラフデータ

MCP Server

Claude Desktop やその他の MCP クライアントから利用できるツールインターフェースです。

詳細は MCP Server 仕様 を参照。

提供ツール

ツール機能
searchナレッジ検索
oss_reportOSS検証レポート取得
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
    end

CLI ダイレクトアクセス

サーバーを起動せずに 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