Conceptio Search について
Conceptio Searchは、Conceptio Open Knowledge Archiveを検索するコマンドラインツール兼MCPサーバーです。オープンアクセスの論文、規格、教科書、判例を収録し、研究者やAIエージェント向けに識別子検索、引用情報、PDF取得、参考文献グラフの探索を提供します。
主な機能
- 01オープンアクセス文書の検索
- 02学術・法務識別子の解決
- 0311形式での引用情報出力
- 04PDFのローカル保存
- 05文書の参考文献グラフ探索
- 06ZoteroまたはObsidianへの文書送信
活用シーン
- 01検索語やソースで論文・規格を探す
- 02DOIやRFCから文書を取得する
- 03研究執筆用の引用情報を出力する
- 04引用関係をたどり文書をZoteroに保存する
MCP 対応
stdio MCPサーバーとして、検索、バッチ検索、識別子解決、文書情報、引用、ダウンロード、参考文献グラフ、ZoteroまたはObsidianへの連携を行う9種類のツールを提供します。ツールの呼び出しにはAPIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx conceptio-searchCONCEPTIO_API_KEYシークレットConceptio API key (Free, Dev, Pro or Enterprise) from your profile at https://www.conceptio.app. Required because an MCP client cannot run the CLI's interactive auth.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 結果数(1-20) |
| query | string | はい | キーワードまたはディレクティブを検索します(例:'source:nist zero trust') |
| license | enum | いいえ | 商用利用が明示的に許可されていることを必須とする、任意の権利フィルターです。commercial-ok |
| category | string | いいえ | 任意のカテゴリーフィルター:'Science & Medicine'、'Economics & Finance'、'Computer Science & Tech'、'Social Sciences & Humanities'、'Arts & Culture'、'Law & Regulation' |
詳細
conceptio-search
100万件以上のオープンアクセス文書――論文、標準規格、教科書、判例――を、ターミナルやAIエージェントから直接検索できます。
conceptio-searchは、Conceptio Open Knowledge Archive向けのCLIおよびModel Context Protocol (MCP)サーバーです。500以上の稼働中のソースから集めた100万件以上のオープンアクセス文書を毎日インデックス化しています。すべてのソースはオープンアクセスまたはパブリックドメインです。CLIはAPIキーで認証します。一度サインインしてキーを保存すれば、どこからでも検索できます。
- 人間向け — 検索、11種類の形式(BibTeX、APA、MLA、Chicago、IEEE、Harvard、RIS、Bluebook、OSCOLA、ISO 690、ANSI Z39)での引用エクスポート、1つのコマンドでのPDFのディスクへのダウンロードができます。
- AIエージェント向け — 9つのツールを備えたstdio MCPサーバーです。Claude、Cursor、Windsurf、OpenCode、その他あらゆるMCPクライアントから、検索、バッチ検索のキュー登録、識別子(RFC、DOI、arXiv、PMID、PMCID、NIST/FIPS、W3C、米国の判例引用)の解決、参照グラフの探索、PDFのワークスペースへの保存、文書のZoteroまたはObsidianへの引き渡しができます。
- 100%自己完結型 — 公開HTTPS APIとのみ通信します。内部インフラは使用せず、キーは
~/.conceptio/config.jsonに保存されます。
インストール
pip install conceptio-search
Python 3.8以降が必要です。(単にそう主張しているのではなく、確認済みです。テストスイートは宣言された最低バージョンの文法ですべてのソースファイルを解析するため、この約束が気づかないうちに破られることはありません。)
コンソールスクリプトはconceptioです。python -m conceptio_cliも、仮想環境がアクティブ化されていない場合に同じエントリーポイントとして使えます。
認証(初回のみ)
検索するには、CLIにAPIキーが必要です。
conceptio auth ckey_live_...
conceptio.appにサインインしてプロフィールでキーを作成してください(Free、Dev、Pro、Enterprise)。キーは~/.conceptio/config.jsonに保存され、すべてのリクエストでX-Api-Keyとして送信されます。
conceptio quotaでいつでも利用プランを確認できます。以下のすべてのコマンドは、この手順が完了していることを前提とします。キーがない場合、CLIは実行を拒否し、その旨を明確に伝えます。
クイックスタート
# Search — supports source:/lang:/category: directives
conceptio search "attention is all you need" --limit 5
conceptio search "source:nist zero trust" --license commercial-ok
conceptio search "source:eurlex AI act" --json
conceptio search "meditations marcus aurelius" --markdown # for Obsidian/Notion
conceptio search "diffusion models" --offset 20 # paginate past the first page
# Multi-query programmatic search — two modes:
conceptio search --batch queries.json --json # queue 1–50 searches, print the job handle
conceptio search --batch queries.json --wait --json # queue, then block until done and print results
conceptio search --batch queries.json --wait --timeout 60 # …but never block longer than a minute
conceptio search --batch queries.json --sync --json # run 1–10 immediately, no queue (one request)
conceptio search-job <job-id> --json # poll once; repeat on your own cadence
conceptio search-job <job-id> --wait --json # poll until done, then print results
# Resolve a known identifier straight to its document(s)
conceptio resolve "RFC 2119"
conceptio resolve "doi:10.1109/access.2020.2986772"
conceptio resolve "2604.08499" # arXiv
conceptio resolve "PMID 41961061" # PubMed
conceptio resolve "PMC10601397" # PubMed Central
conceptio resolve "NIST FIPS 199"
conceptio resolve "347 U.S. 483" # US case citation (Supreme Court)
conceptio resolve "20-5364" # federal docket
conceptio resolve "RFC 2119" --json
# Download the original PDF
conceptio download 297465 -o paper.pdf # by document ID
conceptio download "https://arxiv.org/pdf/2604.21816v1.pdf" # by URL
# Citations — 11 formats: bibtex, apa, mla, chicago, ieee, harvard,
# ris, bluebook, oscola, iso690, ansiz39
conceptio cite 7288 --format bibtex
conceptio cite 7288 --format apa
conceptio cite 7288 --format iso690
# Document metadata
conceptio info 2844
conceptio proof 2844 # machine-readable evidence bundle
conceptio proof 2844 -q "quantum" # passage-level proof for a phrase
# License key (Pro) or API key + quota
conceptio auth CONCEPTIO-XXXX-XXXX-XXXX # Pro license (one-time, account-bound)
conceptio auth ckey_live_... # API key (agent/machine credential)
conceptio quota
conceptio quota --json # {tier, auth, credits…} for a status surface
# The flag may come before the subcommand, the way machine callers write it
conceptio --json search "zero trust"
# Version
conceptio --version
# AI agent server
conceptio mcp
例
$ conceptio search "source:nist zero trust" --limit 3
Conceptio - 3 results for "source:nist zero trust"
# Year Title Author Source PDF
1 n.d. NIST SP 1800-35: Implementing a Zero Trust Scott Rose (NIST); … NIST [x]
2 n.d. NIST SP 800-207: Zero Trust Architecture Scott Rose (NIST); … NIST [x]
3 n.d. NIST SP 800-207A: A Zero Trust Architecture Ramaswamy Chandramo… NIST [x]
Tip: conceptio download 2844 saves the PDF, conceptio cite 2844 exports a citation.
タイトル列では、検索語が金色で強調表示されます。直接リンクできるPDFがある場合、PDF列に[x]が表示されます。[ ]の行でも、conceptio info <id>からソースURLを確認できます。
検索ディレクティブ
CLIはConceptioウェブアプリと同じディレクティブに対応しています。ディレクティブはクエリから除去され、実際のフィルターとして適用されます。
| ディレクティブ | 例 | 効果 |
|---|---|---|
source: / src: | source:nist | 1つ以上のソースに絞り込みます(source:nist source:owasp) |
lang: / language: | lang:it | 言語に絞り込みます(ISOコード) |
category: / cat: | cat:"Law & Regulation" | カテゴリータブに絞り込みます |
--license commercial-ok | --license commercial-ok | カタログのメタデータで商用利用が明示的に許可されているソースのみを対象にします。これは慎重なフィルターであり、再配布の許可を与えるものではありません。 |
ディレクティブは自由に組み合わせられます。conceptio search "cat:\"Computer Science & Tech\" source:nist lattice cryptography"。
解決
conceptio resolveはいくつかの形式の識別子を認識し、型付きレスポンスを返します(kind: rfc | doi | arxiv | pmid | pmcid | nist | w3c | case。通常のテキストの場合はフォールバックとしてnull)。認識されない識別子は通常の検索に切り替わるため、コマンドが何も伝えずに失敗することはありません。
kindが示すのは識別子であり、アーカイブではありません。このアーカイブに収録されていない形式の正しいDOIの場合も、kind: "doi"、total: 0、空のresultsリストを含むレスポンスが返ります。これは失敗ではなく、正しい検索結果が空であることを示します。上記のすべての例は、現在少なくとも1件の文書に解決されます。リリース済みCLIをライブAPIに対して実行するテストスイートでそれを厳密に検証しているため、そのチェックを省略しない限り、例が古くなることはありません。
Model Context Protocol(MCP)
conceptio mcp コマンドは、stdio JSON-RPC MCP サーバーを起動します。依存関係はなく(MCP SDK は不要)、あらゆる MCP クライアントで動作します。
このサーバーは2つの世代に対応しています。現在の 2026-07-28 リビジョン(リクエストごとの _meta、server/discover、resultType、キャッシュヒント)に応答しつつ、それより前のクライアント向けに、従来の initialize ハンドシェイク(2024-11-05 ~ 2025-11-25)にも引き続き対応します。両方の世代に対応するクライアントは、まず server/discover で照会してこのサーバーを検出できます。ハンドシェイクを使うクライアントには、これまでどおり応答します。
ツールを呼び出すにはキーが必要です。 サーバーはキーなしで起動するため、ホストはサーバーを検出してツール一覧を確認できます。その後、すべての tools/call に対して、セットアップ手順を含むインバンドエラーを返します。どちらの方法でもキーを渡してください。conceptio auth <key> を一度実行するか、ホスト独自の環境を通じてホストにキーを渡します。公式レジストリの掲載では後者の方法が指定されています。
{ "mcpServers": { "conceptio": { "command": "conceptio", "args": ["mcp"],
"env": { "CONCEPTIO_API_KEY": "ckey_live_…" } } } }
ツール
| ツール | 説明 |
|---|---|
conceptio_search | アーカイブを検索します(query、省略可能な limit は 1~20、省略可能な category)。タイトル、著者、年、ソース、抜粋、および利用可能な場合は direct_pdf_url を含む構造化された結果を返します。 |
conceptio_search_batch | 1 回の呼び出しで複数の検索を実行します。1~50 件をバックグラウンドジョブとしてキューに登録し、不透明なハンドルを返す(sync は省略または false に設定)か、sync: true を設定して 1~10 件をすぐに実行し、すべての結果を 1 つの応答で返します。 |
conceptio_resolve | 既知の識別子(RFC(RFC 2119)、DOI(doi:10.1109/access.2020.2986772)、arXiv(2604.08499)、PubMed ID(PMID 41961061)、PubMed Central ID(PMC10601397)、NIST/FIPS 指定(NIST FIPS 199)、W3C 仕様の短縮名(w3c_digital-credentials)、米国の法令引用または事件番号(347 U.S. 483、20-5364))を解決し、該当するドキュメントに直接移動します。認識されない識別子はテキスト検索に切り替えます。 |
conceptio_download_pdf | Conceptio ドキュメント ID または PDF の直接 URL を指定して、オープンアクセスの元の PDF をローカルパスにダウンロードします。 |
conceptio_get_citation | ドキュメント ID の引用情報を 11 種類の形式(BibTeX、APA、MLA、Chicago、IEEE、Harvard、RIS、Bluebook、OSCOLA、ISO 690、ANSI Z39)で取得します。 |
conceptio_get_document | ドキュメント ID の完全なメタデータ(タイトル、著者、ソース、カテゴリ、ライセンス、年、言語、URL、PDF の直接 URL、説明)を取得します。 |
conceptio_graph_walk | シードとなる source_id から参照グラフをたどります。そのドキュメントが引用するもの(direction: 'out')、そのドキュメントを引用するもの('in')、または'both'を対象に、1 ホップまたは 2 ホップをたどり、必要に応じて cites / updates の関係種別で絞り込みます。シードからの距離を含むノードと、関係種別を持つ正規化されたエッジを返します。メタデータのみを扱うため、クレジットは消費しません。 |
conceptio_connectors_send | 1 件のドキュメントを Zotero に保存するか、メタデータのみの Obsidian 引き継ぎを開きます。サーバー側の所有権、コネクターのトライアル、失敗時のセマンティクスが適用されます。 |
conceptio_connectors_send_all | 最大 500 件のドキュメント ID を一括で Zotero に保存します。Pro、機関向け、またはライセンス付きのアクセスが必要です。無料トライアルは利用できません。 |
Claude Desktop
claude_desktop_config.json に追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"conceptio": {
"command": "conceptio",
"args": ["mcp"]
}
}
}
Cursor
Settings → Cursor Settings → MCP → Add new MCP server:
{
"mcpServers": {
"conceptio": {
"command": "conceptio",
"args": ["mcp"]
}
}
}
OpenCode / Windsurf / Antigravity
同じ JSON 形式は、MCP 対応のあらゆるクライアントで使えます。conceptio mcp を指定すると、上記の 9 つのツールが自動的に公開されます。MCP ホストは、~/.conceptio/config.json に記述する代わりに、環境変数(CONCEPTIO_API_KEY、またはサインイン済みセッションの場合は CONCEPTIO_BEARER_TOKEN)を使って認証情報を渡すこともできます。
追加したらクライアントを再起動すると、たとえば次のように依頼できます。
「NIST のポスト量子暗号化標準を探して、PDF をワークスペースにダウンロードしてください。」
手動スモークテスト
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | conceptio mcp
Windows PowerShell の注意点: pwsh はテキストをネイティブコマンドに UTF-16 でパイプするため、サーバー(UTF-8 JSON-RPC)は
Parse errorを返します。実際の MCP ホストは UTF-8 を使用するため、影響を受けません。これは、pwsh からecho ... | conceptio mcpのような手動で作成したプローブを実行する場合に限って問題になります。代わりに、まずリクエストを UTF-8 で保存してください。'{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | Out-File -Encoding utf8 req.jsonl cmd /c "conceptio mcp < req.jsonl"
公正な利用
Conceptio のすべてのソースは、オープンアクセスまたはパブリックドメインです。CLI はすべてのリクエストに API キーを送信し、ティアごとのレート制限が適用されます(レート制限を参照してください)。ブラウザーでは、アカウントなしで気軽に検索できる無料トライアルを別途利用できます。
conceptio auth <key> で認証情報を一度追加すると、~/.conceptio/config.json に保存され、すべてのリクエストに付与されます。conceptio auth が受け付けるのは、セルフホスト可能な API キー(ckey_live_...。アカウントから発行されるエージェント/マシン用の認証情報です。平文のまま保存できます。サーバー側でハッシュ化され、表示されるのは一度だけです)または Pro ライセンスキー(CONCEPTIO-XXXX-XXXX-XXXX。一度限り/アカウントに紐付けられます)です。API キーは X-Api-Key、ライセンスキーは X-License-Key として送信されます。認証情報は必ずどちらか一方のみが送信されます。
キーが保存されていない場合、すべてのデータコマンドはネットワークに接続する前に終了します。
Authentication required — save an API key before searching.
conceptio quota は現在のティア(public/pro/enterprise)と、サーバーが認識した認証方式(api_key/license/firebase/public)を報告します。conceptio quota --json は、ステータス画面で表示できる構造化オブジェクトとして同じレポートを返します。人間向けの認証情報のヒントは stderr に出力されるため、stdout は解析可能な状態に保たれます。
設定
状態は ~/.conceptio/config.json に保存されます。
{
"api_base": "https://www.conceptio.app",
"license_key": "",
"api_key": "",
"default_limit": 10,
"default_citation_format": "bibtex"
}
API のベース URL を上書きするには(ステージング、セルフホストのミラー、ローカルプロキシ向け)、api_base を編集してください。公開 API のオリジンには HTTPS を使用する必要があります。ローカル開発では、http://127.0.0.1:8000 のようなループバック HTTP オリジンのみが許可されます。クライアントは、認証情報が予期しないホストに送信されないよう、別オリジンへの API リダイレクトを拒否します。PDF のダウンロードでは、ループバック/プライベートネットワークを宛先とするアクセスを拒否し、レスポンスを 100 MiB に制限して、アトミックに書き込みます。MCP サーバーはさらに、output_path を現在のワークスペース配下に保ち、パストラバーサルやシンボリックリンクによる範囲外へのアクセスを拒否します。検索結果のページサイズを変更するには default_limit を設定してください。default_citation_format には、サポートされている 11 種類の形式名のいずれかを設定してください。
ホストプロセス(エディター、CI、エージェントのランタイム)は、設定ファイルに書き込まずに認証情報を指定できます。環境変数は保存済みの値より優先されます。対象の環境変数は CONCEPTIO_API_KEY、CONCEPTIO_LICENSE_KEY、CONCEPTIO_API_BASE です。サインイン済みユーザーのセッションを、実行ごとに CONCEPTIO_BEARER_TOKEN で渡すこともできます(Web アプリが使用するものと同じ、有効期間の短いベアラートークンです)。このトークンはマシンキーより優先され、認証情報は必ずどれか一つのみが送信されます。
開発
pip install -e ".[test]" # or: pip install -e . && pip install pytest
pytest tests/ # offline tests (mocked HTTP, no network)
python tests/live_check.py # live: the real CLI against a loopback stub
python tests/live_prod_check.py --yes # smoke: the real CLI against the real API
オフラインテストスイートでは、MockTransport を使って httpx をパッチし、ほかのサービスを組み合わせる箇所では ConceptioClient をスタブ化しています。このテストスイートでは実際のネットワーク呼び出しは行いません。つまり、ここで検証できるのはクライアントがリクエストを組み立て、レスポンスを解析することまでで、ライブのやり取りから CLI が何を判断するかは検証できません。
tests/live_check.py はその不足を補います。共有ループバックスタブ(conceptio-nvim/test/stub_api.py。ジョブモードは done/running/expired、コネクターモードは exhausted/pro/not_configured に対応)を起動し、CONCEPTIO_API_BASE と環境変数の認証情報を使って実際のバイナリを接続し、終了コード、標準出力、スタブのリクエストログを検証します。一部のサンプルではなく、機能全体を網羅します。検索(ディレクティブ、フィルター、Markdown、一括処理、ジョブ)、解決、引用、情報、証明、ダウンロードの境界、認証情報の各経路、コネクターの失敗理由、9 つすべての MCP ツール、各エディタークライアントが送信する正確な argv(下記参照)が対象です。また、誤ったバイナリに対して何も言わずに実行することもありません。conceptio --version がこのツリーで宣言されているバージョンと一致しなければ、古いインストールを検証することになるため、失敗してその旨を表示します。
すべてループバック上で完結します。アカウントもキーも本番環境のクレジットも不要です。また、CLI には使い捨ての設定ディレクトリを指定するため、実際の ~/.conceptio/config.json が読み書きされることはありません。CONCEPTIO_CLI でバイナリを、CONCEPTIO_STUB でスタブを選択できます。CONCEPTIO_LIVE_VERBOSE=1 を設定すると、各コマンドの出力を表示します。終了コードが 0 以外になり、失敗したチェックすべてと各コマンド自身の出力が表示されます。
tests/live_prod_check.py はこのテストハーネスとは意図的に正反対のもので、この 2 つを対にすることが目的です。上記のテストはすべて管理下のサーバーを対象としているため、ライブ API の変更を検知できません。たとえば、/api/me のフィールド名が変わる、拒否時の文言が変わる、エッジルールによって CLI のトランスポートが拒否される、といった変更です。このリポジトリのテストスイートが成功し続ける一方で、実際のユーザーが変更の影響を受けるため、こうした変更は気づかれないままリリースされます。
これはオプトイン(--yes)で、規律に頼るのではなく、設計によって安全性を確保しています。ベース URL が配布時のデフォルトでない場合、認証情報がプレースホルダーでない場合(継承された CONCEPTIO_* 変数があれば、その代わりにプレースホルダーを使います)は実行を拒否します。また、認証情報なしでも API が許可している読み取り操作と、拒否されることを期待するコマンドだけを実行します。検索が実行されることはありません。ガードを rm -f で削除すると、本番環境とスタブを見分けられなくなります。デフォルトのベース URL を別の場所に向けると 9 件中 6 件のチェックが失敗します。つまり、チェックが実際に機能していることを確認できます。
クライアントの契約
CLI は、配布されているクライアント側の機能である Neovim プラグインと Obsidian プラグインの依存関係でもあります。これらは argv リストを指定してこのバイナリを実行し、標準出力を読み取ります。それらを結び付けているのは、この文法だけです。tests/client_contract.py は、各クライアントが実行するすべての呼び出しを、その呼び出し元のファイルとともに記録します。
tests/test_cli_contract.pyは各行をcli.build_parser()で解析し、クライアントのチェックアウトがこのリポジトリの隣にある場合は、そのソースに記録されたサブコマンドとフラグが引き続き含まれていることを検証します。tests/live_check.pyは同じ行を、スタブに接続した実際のバイナリに対して実行します。
サブコマンドやフラグを変更すると、どちらかのテストが失敗し、該当するクライアント名を表示します。クライアントに新しい呼び出しが追加されたら、行を追加してください。
README もクライアントの一つです。tests/test_readme_contract.py は上記のコードブロックからすべての呼び出しを抽出し、同じ文法で解析します。そのため、フラグの名前を変更しても、ドキュメントに使用法エラーになるコマンドが残ることはありません。パイプやリダイレクトなどのシェル構文は、例外扱いではなく明示的なルールによってスキップされます。また、テストでは例が見つからなくなると失敗します。何も見つけないまま動作する抽出器では、何も検証できないためです。
ライセンス
MIT — LICENSE を参照してください。
Conceptio Open Knowledge Archive の一部です。arXiv、NIST、OWASP、CISA、PubMed/PMC、MIT OpenCourseWare、EUR-Lex、Project Gutenberg など、500 以上の更新され続ける情報源を収録しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。