mcpField
O
ossian-mcp

ossian-mcp

ローカル
github.com/dockndevaiメモリ・ナレッジ23 日前に更新

ossian-mcp について

ossian-mcpは、組織の文書から出典付きで回答し、会話をまたぐ記憶を保持するMCPサーバーアダプターです。アクセスモードで読み取り、書き込み、削除の機能を制限します。

主な機能

  1. 01文書に基づく出典付き回答
  2. 02名前空間と文書の検索・確認
  3. 03エージェントの記憶の取得と保存
  4. 04アクセスモードと名前空間の制限
  5. 05監査と書き込みのドライラン制御

活用シーン

  1. 01原文書に基づく社内規定の回答
  2. 02利用可能または取り込み中の文書の確認
  3. 03会話をまたいだ好みや決定の保持
  4. 04組織データへのエージェントアクセスの制限・監査

MCP 対応

文書検索、名前空間・文書一覧、記憶のツールをMCPクライアントに公開します。ツールはアクセスモードで制御され、JSON-RPC over stdioで通信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dockndevai-ossian": {
"command": "npx",
"args": [
"-y",
"ossian-mcp"
],
"env": {
"OSSIAN_URL": "<OSSIAN_URL>",
"OSSIAN_API_KEY": "<OSSIAN_API_KEY>",
"OSSIAN_AGENT_ID": "<OSSIAN_AGENT_ID>",
"OSSIAN_MODE": "<OSSIAN_MODE>"
}
}
}
}
起動コマンドnpx -y ossian-mcp
設定が必要な環境変数
OSSIAN_URLBase URL of the Ossian installation (e.g. http://localhost:8081).
OSSIAN_API_KEYシークレットOssian API key (osk_…). Scope it to the narrowest role/namespace that works.
OSSIAN_AGENT_IDSeparates one agent's memories from another's. Defaults to 'mcp'.
OSSIAN_MODEAccess mode: read-only | read-write | admin. Starts read-only; writes need read-write.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmossian-mcp0.2.2

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
questionstringはい質問全文。ユーザー自身の表現を優先してください。
namespacestringいいえコーパスの一部分に絞り込みます(例:'runbooks')。省略するとすべてを検索します。

詳細

ossian-mcp

npm licence

Ossian 用の MCP サーバーです。組織独自のドキュメントに質問すると、回答の根拠となった箇所を取得できます。また、会話が終わった後も保持されるエージェント用のメモリも利用できます。

Ossian がサーバーで、これはエージェントの前段に配置するアダプターです。接続先となる稼働中の Ossian が必要です。docker compose up についてはこちらの READMEをご覧ください。

エージェントに提供する機能

ツールはアクセスモードによって制限されます(デフォルトで安全を参照)。サーバーは読み取り専用で起動し、モードを引き上げるまでは読み取り用の 4 つのツールのみを公開します。

ツール用途必要なモード
ask_documents引用付きでコーパスから回答します。回答できない場合はその旨を伝えますread-only
list_namespaces存在する各スライスと、それぞれに含まれるデータ量を確認しますread-only
list_documents回答に利用できるものと、まだ取り込み中のものを確認しますread-only
recall現在関連する情報を、関連性、重要度、新しさの順にランク付けして取得しますread-only
add_document_from_url公開ページをコーパスに取り込みますread-write
remember保存する価値のある設定、事実、決定を記録しますread-write
forget_session1 つの会話のメモリを消去します(元に戻せません)admin + OSSIAN_ALLOW_FORGET

インストール

npm install -g ossian-mcp

稼働中の Ossian と API キーが必要です。コンソール(Console → API keys)から発行するか、次のコマンドを実行してください。

curl -X POST "$OSSIAN_URL/api/admin/api-keys" \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{"name":"mcp","roles":["ossian-user"],"namespace":"handbooks"}'

機能する範囲で最も制限の厳しいスコープをキーに付与してください。namespace を指定すると 1 つのスライスに制限されるため、キーが漏えいしても、そのエージェント向けのデータしか読み取れません。

設定

{
  "mcpServers": {
    "ossian": {
      "command": "ossian-mcp",
      "env": {
        "OSSIAN_URL": "http://localhost:8081",
        "OSSIAN_API_KEY": "osk_...",
        "OSSIAN_AGENT_ID": "support-bot",
        "OSSIAN_MODE": "read-only"
      }
    }
  }
}

OSSIAN_AGENT_ID を指定すると、エージェントごとにメモリを分離できます。同じ ID を共有する 2 つのエージェントは記憶を共有します。そうしたい場合もありますが、通常は共有しません。

Claude Code / Cursor / Codex / VS Code / Windsurf の設定例についてはdocs/CLIENTS.mdを、サポートされているすべての変数については.env.exampleをご覧ください。

デフォルトで安全

このサーバーは、Ossian API キーに加えてアクセスモデルを適用します。キー自体のロールや名前空間による制限に対する、多層防御です。ポリシーは環境変数(.env.example)から読み込み、src/security.tsで適用します。

  • OSSIAN_MODE — read-only(デフォルト)→ read-write → admin。モードで機能が許可されている場合にのみツールが登録されます。読み取り専用モードでは 4 つのツールが公開されます。取り込みと記憶には read-write、忘却には admin が必要です。
  • OSSIAN_ALLOW_FORGET — forget_session はメモリを元に戻せない形で消去するため、admin モードに加えてこのフラグも必要です。
  • OSSIAN_NAMESPACE_ALLOWLIST / OSSIAN_PROTECTED_NAMESPACES — 操作可能なスライスを制限し、読み取りは許可しても取り込みは禁止するスライスを指定します。
  • OSSIAN_DRY_RUN — 書き込み(取り込み / 記憶 / 忘却)を実行せず、検証してログに記録します。
  • OSSIAN_AUDIT_LOG — 保護対象の操作ごとに、stderr に JSON 形式の監査ログを出力します(デフォルトで有効)。
  • 対話型の確認 — クライアントが MCP のエリシテーションに対応している場合、forget_session はセッションのメモリを消去する前に、人間に承認を求めます。エリシテーションに対応していないクライアントでは、OSSIAN_ALLOW_FORGET による制限が適用されます。

最も重要な制御は引き続き API キーです。機能する範囲で最も制限の厳しいキーを発行してください。詳しくはSECURITY.mdをご覧ください。

知っておくべきことが2つあります

「見つからない」も回答です。 ask_documents は、コーパス内に回答を裏付ける情報がない場合、回答を拒否します。また、ツールの説明では、一般知識で補うのではなく、その旨を報告するようモデルに指示しています。会社の方針として提示される作り話を防ぐことが、このシステムの目的です。ご自身のプロンプトで、この点を覆い隠さないでください。

メモリはコーパスではありません。 recall はエージェントに伝えられた内容を検索し、ask_documents は組織が文書化した内容を検索します。これらは意図的に別々のストアになっています。方針に関する回答でメモリが引用として表示されると、方針そのものとの区別がつかなくなるためです。

開発

npm install
npm run build
OSSIAN_URL=http://localhost:8081 OSSIAN_API_KEY=osk_… node dist/index.js

標準入出力を介して JSON-RPC で通信するため、フレームが届くまで待機します。手動で動作させるには、次のようにします。

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

診断情報は意図的に標準エラー出力へ送られます。プロトコルフレーム以外の内容が標準出力に書き込まれると、ストリームが破損します。この場合、ログ行を出力したサーバーではなく、解析できないクライアントとしてエラーが現れます。

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。