Skip to main content

conceptio-search

Search the open-access archive — papers, standards, textbooks, and legal documents — right from your terminal or your AI agent.

conceptio-search is a CLI and Model Context Protocol (MCP) server for the Conceptio Open Knowledge Archive. Every source in the archive is open access or public domain. The CLI authenticates with an API key: sign in once, save the key, search from anywhere.

  • For humans — search, export citations in 11 formats (BibTeX, APA, MLA, Chicago, IEEE, Harvard, RIS, Bluebook, OSCOLA, ISO 690, ANSI Z39), and download PDFs to disk with one command.
  • For AI agents — a stdio MCP server with five tools, so Claude, Cursor, Windsurf, OpenCode, or any MCP client can search, resolve identifiers (RFC, DOI, arXiv, PMID, PMCID, NIST/FIPS, W3C, US case citation), and save PDFs into your workspace.
  • 100% self-contained — talks only to the public HTTPS API. No internal infrastructure; your key lives in ~/.conceptio/config.json.

Install

pip install conceptio-search

Requires Python 3.8+.


Authenticate (one time)

The CLI needs an API key before it can search:

conceptio auth ckey_live_...

Get the key by signing in at conceptio.app and creating one on your profile (Free, Pro, or Enterprise). The key is stored in ~/.conceptio/config.json and sent as X-Api-Key with every request. conceptio quota reports your tier at any time. Every command below assumes this step is done — without a key the CLI refuses to run and tells you exactly this.


Quick start

# Search — supports source:/lang:/category: directives
conceptio search "attention is all you need" --limit 5
conceptio search "source:nist zero trust" --category "Computer Science & Tech"
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

# Resolve a known identifier straight to its document(s)
conceptio resolve "RFC 2119"
conceptio resolve "doi:10.1145/3290605.3300333"
conceptio resolve "2604.08499"                              # arXiv
conceptio resolve "PMID 41961061"                           # PubMed
conceptio resolve "PMC10601397"                             # PubMed Central
conceptio resolve "NIST FIPS 199"
conceptio resolve "410 U.S. 113"                            # 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

# 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

# Version
conceptio --version

# AI agent server
conceptio mcp

Example

$ 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.

Query words are highlighted in gold in the title column. The PDF column shows [x] when a direct PDF link is available; [ ] rows still surface the source URL via conceptio info <id>.

Search directives

The CLI understands the same directives as the Conceptio web app — they are stripped from the query and applied as real filters:

Directive Example Effect
source: / src: source:nist Restrict to one or more sources (source:nist source:owasp)
lang: / language: lang:it Restrict to a language (ISO code)
category: / cat: cat:"Law & Regulation" Restrict to a category tab

Directives can be combined freely: conceptio search "cat:\"Computer Science & Tech\" source:nist lattice cryptography".

Resolve

conceptio resolve recognises several identifier shapes and returns a typed response (kind: rfc | doi | arxiv | pmid | pmcid | nist | w3c | case plus fallback null for plain text). Unrecognised identifiers degrade to a regular search so the command never fails silently.


Model Context Protocol (MCP)

The conceptio mcp command starts a stdio JSON-RPC MCP server. It is dependency-free (no MCP SDK required) and works with any MCP client.

Tools

Tool Description
conceptio_search Search the archive (query, optional limit 1–20, optional category). Returns structured results with titles, authors, years, source, snippet, and direct_pdf_url when available.
conceptio_resolve Resolve a known identifier — RFC (RFC 2119), DOI (doi:10.1145/3290605.3300333), arXiv (2604.08499), PubMed ID (PMID 41961061), PubMed Central ID (PMC10601397), NIST/FIPS designation (NIST FIPS 199), W3C spec shortname (w3c_digital-credentials), or US legal citation / docket (410 U.S. 113, 20-5364) — straight to its document(s). Unrecognised identifiers fall back to a text search.
conceptio_download_pdf Download the original open-access PDF for a Conceptio document ID or a direct PDF URL to a local path.
conceptio_get_citation Get a citation for a document ID in any of 11 formats (BibTeX, APA, MLA, Chicago, IEEE, Harvard, RIS, Bluebook, OSCOLA, ISO 690, ANSI Z39).
conceptio_get_document Full metadata (title, author, source, category, license, year, language, URL, direct PDF URL, description) for a document ID.

Claude Desktop

Add to 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

The same JSON shape works in any MCP-aware client — point it at conceptio mcp and the five tools above are exposed automatically.

After adding, restart the client and you can ask, for example:

"Find the NIST post-quantum encryption standard and download the PDF into my workspace."

Manual smoke test

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | conceptio mcp

Windows PowerShell quirk: pwsh pipes text to native commands as UTF-16, which the server (UTF-8 JSON-RPC) answers with a Parse error. Real MCP hosts speak UTF-8 and are unaffected — this only bites hand-rolled echo ... | conceptio mcp probes from pwsh. Save the request as UTF-8 first instead:

'{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | Out-File -Encoding utf8 req.jsonl
cmd /c "conceptio mcp < req.jsonl"

Fair use

Every source in Conceptio is open access or public domain. The CLI sends your API key with every request and is rate-limited per tier (see the rate limits); the browser keeps a separate free trial for casual searching without an account.

Add a credential once with conceptio auth <key> — it is stored in ~/.conceptio/config.json and sent with every request. conceptio auth accepts either a self-hosted API key (ckey_live_..., the agent/machine credential issued from your account — store it plainly, it is hashed server-side and shown only once) or a Pro license key (CONCEPTIO-XXXX-XXXX-XXXX, one-time / account-bound). API keys are X-Api-Key; license keys are X-License-Key; exactly one credential is sent.

Without a saved key, every data command exits before touching the network:

Authentication required — save an API key before searching.

conceptio quota reports your current tier (public / pro / enterprise) and which auth the server honored (api_key / license / firebase / public).


Configuration

State lives in ~/.conceptio/config.json:

{
  "api_base": "https://www.conceptio.app",
  "license_key": "",
  "api_key": "",
  "default_limit": 10,
  "default_citation_format": "bibtex"
}

Override the API base (for staging, self-hosted mirrors, or a local proxy) by editing api_base. Public API origins must use HTTPS; only loopback HTTP origins such as http://127.0.0.1:8000 are allowed for local development. The client refuses cross-origin API redirects so credentials cannot be sent to an unexpected host. PDF downloads reject loopback/private-network targets, limit responses to 100 MiB, and write atomically. The MCP server additionally keeps output_path beneath its current workspace and rejects traversal or symlink escapes. Set default_limit to change the search page size; set default_citation_format to any of the 11 supported format names.


Development

pip install -e ".[test]"     # or: pip install -e . && pip install pytest
pytest tests/                # 74 offline tests (mocked HTTP, no network)

The test suite is fully offline — httpx is patched with a MockTransport and ConceptioClient is stubbed where it composes other services. No test makes a real network call.


License

MIT — see LICENSE.

Part of the Conceptio Open Knowledge Archive — 500+ living sources: arXiv, NIST, OWASP, CISA, PubMed/PMC, MIT OpenCourseWare, EUR-Lex, Project Gutenberg, and more.

Release files for conceptio-search 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for conceptio-search 0.1.1
File Size Uploaded
conceptio_search-0.1.1.tar.gz 32.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for conceptio-search 0.1.1
File Interpreter ABI Platform
conceptio_search-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 56.8 kB

Release files / conceptio_search-0.1.1.tar.gz

Download URL conceptio_search-0.1.1.tar.gz
Size 32.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3034b2cf7e3c68e20bb14e8f286eb1c7b85602302fc05b7979e7bc51c29a6872
BLAKE2b-256 checksum
How to use checksums
975be8870724d65716103c20192b164e7516eee1c6898d71328d9205e1736a4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.5

Release files / conceptio_search-0.1.1-py3-none-any.whl

Download URL conceptio_search-0.1.1-py3-none-any.whl
Size 24.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23c39d6d050bb297169380c09752d4d3bd02c41184f4adbcd360dc562fe3d5fe
BLAKE2b-256 checksum
How to use checksums
f351bb82b4e993a3c7a554a1b022ab95a1a04713e0dd46910bcfb1128329dc40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.5

Release history Release notifications | RSS feed

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page