conceptio-search 0.1.0.post5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- conceptio_search-0.1.0.post5/LICENSE +21 -0
- conceptio_search-0.1.0.post5/PKG-INFO +263 -0
- conceptio_search-0.1.0.post5/README.md +238 -0
- conceptio_search-0.1.0.post5/conceptio_cli/__init__.py +10 -0
- conceptio_search-0.1.0.post5/conceptio_cli/cli.py +249 -0
- conceptio_search-0.1.0.post5/conceptio_cli/client.py +198 -0
- conceptio_search-0.1.0.post5/conceptio_cli/config.py +52 -0
- conceptio_search-0.1.0.post5/conceptio_cli/formatter.py +125 -0
- conceptio_search-0.1.0.post5/conceptio_cli/mcp_server.py +207 -0
- conceptio_search-0.1.0.post5/conceptio_search.egg-info/PKG-INFO +263 -0
- conceptio_search-0.1.0.post5/conceptio_search.egg-info/SOURCES.txt +18 -0
- conceptio_search-0.1.0.post5/conceptio_search.egg-info/dependency_links.txt +1 -0
- conceptio_search-0.1.0.post5/conceptio_search.egg-info/entry_points.txt +2 -0
- conceptio_search-0.1.0.post5/conceptio_search.egg-info/requires.txt +2 -0
- conceptio_search-0.1.0.post5/conceptio_search.egg-info/top_level.txt +1 -0
- conceptio_search-0.1.0.post5/pyproject.toml +42 -0
- conceptio_search-0.1.0.post5/setup.cfg +4 -0
- conceptio_search-0.1.0.post5/tests/test_cli.py +182 -0
- conceptio_search-0.1.0.post5/tests/test_client.py +225 -0
- conceptio_search-0.1.0.post5/tests/test_mcp.py +139 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Lucida Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: conceptio-search
|
|
3
|
+
Version: 0.1.0.post5
|
|
4
|
+
Summary: Fast CLI & Model Context Protocol (MCP) search tool for 500,000+ open-access papers, technical standards, and books.
|
|
5
|
+
Author: Lucida Team
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://conceptio.app
|
|
8
|
+
Project-URL: Repository, https://github.com/0x923041-dotcom/conceptio-cli
|
|
9
|
+
Keywords: search,academic,papers,mcp,ai-agents,arxiv,nist,research
|
|
10
|
+
Classifier: Environment :: Console
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
|
+
Requires-Python: >=3.8
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Requires-Dist: httpx>=0.24.0
|
|
23
|
+
Requires-Dist: rich>=13.0.0
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
|
|
26
|
+
# conceptio-search
|
|
27
|
+
|
|
28
|
+
**Search 500,000+ open-access papers, standards, textbooks, and legal documents — right from your terminal or your AI agent.**
|
|
29
|
+
|
|
30
|
+
`conceptio-search` is a zero-configuration CLI and [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the [Conceptio Open Knowledge Archive](https://conceptio.app). Every source in the archive is open access or public domain — no paywalls, no accounts required to search.
|
|
31
|
+
|
|
32
|
+
- **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.
|
|
33
|
+
- **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.
|
|
34
|
+
- **100% self-contained** — talks only to the public HTTPS API. No API keys, no sign-up, no internal infrastructure.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Install
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install conceptio-search
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Or from source:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
git clone https://github.com/0x923041-dotcom/conceptio-cli.git
|
|
48
|
+
cd conceptio-cli
|
|
49
|
+
pip install .
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Requires Python 3.8+.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Quick start
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Search — supports source:/lang:/category: directives
|
|
60
|
+
conceptio search "attention is all you need" --limit 5
|
|
61
|
+
conceptio search "source:nist zero trust" --category "Computer Science & Tech"
|
|
62
|
+
conceptio search "source:eurlex AI act" --json
|
|
63
|
+
conceptio search "meditations marcus aurelius" --markdown # for Obsidian/Notion
|
|
64
|
+
conceptio search "diffusion models" --offset 20 # paginate past the first page
|
|
65
|
+
|
|
66
|
+
# Resolve a known identifier straight to its document(s)
|
|
67
|
+
conceptio resolve "RFC 2119"
|
|
68
|
+
conceptio resolve "doi:10.1145/3290605.3300333"
|
|
69
|
+
conceptio resolve "2604.08499" # arXiv
|
|
70
|
+
conceptio resolve "PMID 41961061" # PubMed
|
|
71
|
+
conceptio resolve "PMC10601397" # PubMed Central
|
|
72
|
+
conceptio resolve "NIST FIPS 199"
|
|
73
|
+
conceptio resolve "410 U.S. 113" # US case citation (Supreme Court)
|
|
74
|
+
conceptio resolve "20-5364" # federal docket
|
|
75
|
+
conceptio resolve "RFC 2119" --json
|
|
76
|
+
|
|
77
|
+
# Download the original PDF
|
|
78
|
+
conceptio download 297465 -o paper.pdf # by document ID
|
|
79
|
+
conceptio download "https://arxiv.org/pdf/2604.21816v1.pdf" # by URL
|
|
80
|
+
|
|
81
|
+
# Citations — 11 formats: bibtex, apa, mla, chicago, ieee, harvard,
|
|
82
|
+
# ris, bluebook, oscola, iso690, ansiz39
|
|
83
|
+
conceptio cite 7288 --format bibtex
|
|
84
|
+
conceptio cite 7288 --format apa
|
|
85
|
+
conceptio cite 7288 --format iso690
|
|
86
|
+
|
|
87
|
+
# Document metadata
|
|
88
|
+
conceptio info 2844
|
|
89
|
+
|
|
90
|
+
# License key (Pro) + quota
|
|
91
|
+
conceptio auth CONCEPTIO-XXXX-XXXX-XXXX
|
|
92
|
+
conceptio quota
|
|
93
|
+
|
|
94
|
+
# Version
|
|
95
|
+
conceptio --version
|
|
96
|
+
|
|
97
|
+
# AI agent server
|
|
98
|
+
conceptio mcp
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Example
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
$ conceptio search "source:nist zero trust" --limit 3
|
|
105
|
+
|
|
106
|
+
Conceptio - 3 results for "source:nist zero trust"
|
|
107
|
+
# Year Title Author Source PDF
|
|
108
|
+
1 n.d. NIST SP 1800-35: Implementing a Zero Trust Scott Rose (NIST); … NIST [x]
|
|
109
|
+
2 n.d. NIST SP 800-207: Zero Trust Architecture Scott Rose (NIST); … NIST [x]
|
|
110
|
+
3 n.d. NIST SP 800-207A: A Zero Trust Architecture Ramaswamy Chandramo… NIST [x]
|
|
111
|
+
|
|
112
|
+
Tip: conceptio download 2844 saves the PDF, conceptio cite 2844 exports a citation.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Query words are highlighted in gold in the title column. The `PDF` column shows
|
|
116
|
+
`[x]` when a direct PDF link is available; `[ ]` rows still surface the source
|
|
117
|
+
URL via `conceptio info <id>`.
|
|
118
|
+
|
|
119
|
+
### Search directives
|
|
120
|
+
|
|
121
|
+
The CLI understands the same directives as the Conceptio web app — they are stripped
|
|
122
|
+
from the query and applied as real filters:
|
|
123
|
+
|
|
124
|
+
| Directive | Example | Effect |
|
|
125
|
+
|-----------|---------|--------|
|
|
126
|
+
| `source:` / `src:` | `source:nist` | Restrict to one or more sources (`source:nist source:owasp`) |
|
|
127
|
+
| `lang:` / `language:` | `lang:it` | Restrict to a language (ISO code) |
|
|
128
|
+
| `category:` / `cat:` | `cat:"Law & Regulation"` | Restrict to a category tab |
|
|
129
|
+
|
|
130
|
+
Directives can be combined freely: `conceptio search "cat:\"Computer Science & Tech\" source:nist lattice cryptography"`.
|
|
131
|
+
|
|
132
|
+
### Resolve
|
|
133
|
+
|
|
134
|
+
`conceptio resolve` recognises several identifier shapes and returns a typed
|
|
135
|
+
response (`kind: rfc | doi | arxiv | pmid | pmcid | nist | w3c | case` plus
|
|
136
|
+
fallback `null` for plain text). Unrecognised identifiers degrade to a regular
|
|
137
|
+
search so the command never fails silently.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Model Context Protocol (MCP)
|
|
142
|
+
|
|
143
|
+
The `conceptio mcp` command starts a stdio JSON-RPC MCP server. It is dependency-free
|
|
144
|
+
(no MCP SDK required) and works with any MCP client.
|
|
145
|
+
|
|
146
|
+
### Tools
|
|
147
|
+
|
|
148
|
+
| Tool | Description |
|
|
149
|
+
|------|-------------|
|
|
150
|
+
| `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. |
|
|
151
|
+
| `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. |
|
|
152
|
+
| `conceptio_download_pdf` | Download the original open-access PDF for a Conceptio document ID or a direct PDF URL to a local path. |
|
|
153
|
+
| `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). |
|
|
154
|
+
| `conceptio_get_document` | Full metadata (title, author, source, category, license, year, language, URL, direct PDF URL, description) for a document ID. |
|
|
155
|
+
|
|
156
|
+
### Claude Desktop
|
|
157
|
+
|
|
158
|
+
Add to `claude_desktop_config.json`:
|
|
159
|
+
|
|
160
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
161
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"mcpServers": {
|
|
166
|
+
"conceptio": {
|
|
167
|
+
"command": "conceptio",
|
|
168
|
+
"args": ["mcp"]
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Cursor
|
|
175
|
+
|
|
176
|
+
`Settings → Cursor Settings → MCP → Add new MCP server`:
|
|
177
|
+
|
|
178
|
+
```json
|
|
179
|
+
{
|
|
180
|
+
"mcpServers": {
|
|
181
|
+
"conceptio": {
|
|
182
|
+
"command": "conceptio",
|
|
183
|
+
"args": ["mcp"]
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### OpenCode / Windsurf / Antigravity
|
|
190
|
+
|
|
191
|
+
The same JSON shape works in any MCP-aware client — point it at `conceptio mcp`
|
|
192
|
+
and the five tools above are exposed automatically.
|
|
193
|
+
|
|
194
|
+
After adding, restart the client and you can ask, for example:
|
|
195
|
+
|
|
196
|
+
> *"Find the NIST post-quantum encryption standard and download the PDF into my workspace."*
|
|
197
|
+
|
|
198
|
+
### Manual smoke test
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | conceptio mcp
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Fair use
|
|
207
|
+
|
|
208
|
+
Every source in Conceptio is open access or public domain, and searching is free.
|
|
209
|
+
To keep the archive open for everyone, a trial allowance applies per client
|
|
210
|
+
(and then a rate limit). When a limit is reached, the CLI returns a clear,
|
|
211
|
+
non-blocking message:
|
|
212
|
+
|
|
213
|
+
```text
|
|
214
|
+
Free trial allowance exhausted. Add a license key to continue at higher
|
|
215
|
+
limits: docs at https://conceptio.app or `conceptio auth <key>`.
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Add a license key once with `conceptio auth <key>` — it is stored in
|
|
219
|
+
`~/.conceptio/config.json` and sent with every request. No account or sign-up is
|
|
220
|
+
required to search. `conceptio quota` reports your current tier (`public` / `pro` /
|
|
221
|
+
`institutional`).
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Configuration
|
|
226
|
+
|
|
227
|
+
State lives in `~/.conceptio/config.json`:
|
|
228
|
+
|
|
229
|
+
```json
|
|
230
|
+
{
|
|
231
|
+
"api_base": "https://www.conceptio.app",
|
|
232
|
+
"license_key": "",
|
|
233
|
+
"default_limit": 10,
|
|
234
|
+
"default_citation_format": "bibtex"
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Override the API base (for staging, self-hosted mirrors, or a local proxy) by
|
|
239
|
+
editing `api_base`. Set `default_limit` to change the search page size; set
|
|
240
|
+
`default_citation_format` to any of the 11 supported format names.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Development
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
pip install -e ".[test]" # or: pip install -e . && pip install pytest
|
|
248
|
+
pytest tests/ # 41 offline tests (mocked HTTP, no network)
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
The test suite is fully offline — `httpx` is patched with a `MockTransport`
|
|
252
|
+
and `ConceptioClient` is stubbed where it composes other services. No test makes a
|
|
253
|
+
real network call.
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## License
|
|
258
|
+
|
|
259
|
+
MIT — see [LICENSE](LICENSE).
|
|
260
|
+
|
|
261
|
+
Part of the [Conceptio Open Knowledge Archive](https://conceptio.app) — 500+
|
|
262
|
+
living sources: arXiv, NIST, OWASP, CISA, PubMed/PMC, MIT OpenCourseWare,
|
|
263
|
+
EUR-Lex, Project Gutenberg, and more.
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# conceptio-search
|
|
2
|
+
|
|
3
|
+
**Search 500,000+ open-access papers, standards, textbooks, and legal documents — right from your terminal or your AI agent.**
|
|
4
|
+
|
|
5
|
+
`conceptio-search` is a zero-configuration CLI and [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the [Conceptio Open Knowledge Archive](https://conceptio.app). Every source in the archive is open access or public domain — no paywalls, no accounts required to search.
|
|
6
|
+
|
|
7
|
+
- **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.
|
|
8
|
+
- **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.
|
|
9
|
+
- **100% self-contained** — talks only to the public HTTPS API. No API keys, no sign-up, no internal infrastructure.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install conceptio-search
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Or from source:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
git clone https://github.com/0x923041-dotcom/conceptio-cli.git
|
|
23
|
+
cd conceptio-cli
|
|
24
|
+
pip install .
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Requires Python 3.8+.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Quick start
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Search — supports source:/lang:/category: directives
|
|
35
|
+
conceptio search "attention is all you need" --limit 5
|
|
36
|
+
conceptio search "source:nist zero trust" --category "Computer Science & Tech"
|
|
37
|
+
conceptio search "source:eurlex AI act" --json
|
|
38
|
+
conceptio search "meditations marcus aurelius" --markdown # for Obsidian/Notion
|
|
39
|
+
conceptio search "diffusion models" --offset 20 # paginate past the first page
|
|
40
|
+
|
|
41
|
+
# Resolve a known identifier straight to its document(s)
|
|
42
|
+
conceptio resolve "RFC 2119"
|
|
43
|
+
conceptio resolve "doi:10.1145/3290605.3300333"
|
|
44
|
+
conceptio resolve "2604.08499" # arXiv
|
|
45
|
+
conceptio resolve "PMID 41961061" # PubMed
|
|
46
|
+
conceptio resolve "PMC10601397" # PubMed Central
|
|
47
|
+
conceptio resolve "NIST FIPS 199"
|
|
48
|
+
conceptio resolve "410 U.S. 113" # US case citation (Supreme Court)
|
|
49
|
+
conceptio resolve "20-5364" # federal docket
|
|
50
|
+
conceptio resolve "RFC 2119" --json
|
|
51
|
+
|
|
52
|
+
# Download the original PDF
|
|
53
|
+
conceptio download 297465 -o paper.pdf # by document ID
|
|
54
|
+
conceptio download "https://arxiv.org/pdf/2604.21816v1.pdf" # by URL
|
|
55
|
+
|
|
56
|
+
# Citations — 11 formats: bibtex, apa, mla, chicago, ieee, harvard,
|
|
57
|
+
# ris, bluebook, oscola, iso690, ansiz39
|
|
58
|
+
conceptio cite 7288 --format bibtex
|
|
59
|
+
conceptio cite 7288 --format apa
|
|
60
|
+
conceptio cite 7288 --format iso690
|
|
61
|
+
|
|
62
|
+
# Document metadata
|
|
63
|
+
conceptio info 2844
|
|
64
|
+
|
|
65
|
+
# License key (Pro) + quota
|
|
66
|
+
conceptio auth CONCEPTIO-XXXX-XXXX-XXXX
|
|
67
|
+
conceptio quota
|
|
68
|
+
|
|
69
|
+
# Version
|
|
70
|
+
conceptio --version
|
|
71
|
+
|
|
72
|
+
# AI agent server
|
|
73
|
+
conceptio mcp
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Example
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
$ conceptio search "source:nist zero trust" --limit 3
|
|
80
|
+
|
|
81
|
+
Conceptio - 3 results for "source:nist zero trust"
|
|
82
|
+
# Year Title Author Source PDF
|
|
83
|
+
1 n.d. NIST SP 1800-35: Implementing a Zero Trust Scott Rose (NIST); … NIST [x]
|
|
84
|
+
2 n.d. NIST SP 800-207: Zero Trust Architecture Scott Rose (NIST); … NIST [x]
|
|
85
|
+
3 n.d. NIST SP 800-207A: A Zero Trust Architecture Ramaswamy Chandramo… NIST [x]
|
|
86
|
+
|
|
87
|
+
Tip: conceptio download 2844 saves the PDF, conceptio cite 2844 exports a citation.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Query words are highlighted in gold in the title column. The `PDF` column shows
|
|
91
|
+
`[x]` when a direct PDF link is available; `[ ]` rows still surface the source
|
|
92
|
+
URL via `conceptio info <id>`.
|
|
93
|
+
|
|
94
|
+
### Search directives
|
|
95
|
+
|
|
96
|
+
The CLI understands the same directives as the Conceptio web app — they are stripped
|
|
97
|
+
from the query and applied as real filters:
|
|
98
|
+
|
|
99
|
+
| Directive | Example | Effect |
|
|
100
|
+
|-----------|---------|--------|
|
|
101
|
+
| `source:` / `src:` | `source:nist` | Restrict to one or more sources (`source:nist source:owasp`) |
|
|
102
|
+
| `lang:` / `language:` | `lang:it` | Restrict to a language (ISO code) |
|
|
103
|
+
| `category:` / `cat:` | `cat:"Law & Regulation"` | Restrict to a category tab |
|
|
104
|
+
|
|
105
|
+
Directives can be combined freely: `conceptio search "cat:\"Computer Science & Tech\" source:nist lattice cryptography"`.
|
|
106
|
+
|
|
107
|
+
### Resolve
|
|
108
|
+
|
|
109
|
+
`conceptio resolve` recognises several identifier shapes and returns a typed
|
|
110
|
+
response (`kind: rfc | doi | arxiv | pmid | pmcid | nist | w3c | case` plus
|
|
111
|
+
fallback `null` for plain text). Unrecognised identifiers degrade to a regular
|
|
112
|
+
search so the command never fails silently.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Model Context Protocol (MCP)
|
|
117
|
+
|
|
118
|
+
The `conceptio mcp` command starts a stdio JSON-RPC MCP server. It is dependency-free
|
|
119
|
+
(no MCP SDK required) and works with any MCP client.
|
|
120
|
+
|
|
121
|
+
### Tools
|
|
122
|
+
|
|
123
|
+
| Tool | Description |
|
|
124
|
+
|------|-------------|
|
|
125
|
+
| `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. |
|
|
126
|
+
| `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. |
|
|
127
|
+
| `conceptio_download_pdf` | Download the original open-access PDF for a Conceptio document ID or a direct PDF URL to a local path. |
|
|
128
|
+
| `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). |
|
|
129
|
+
| `conceptio_get_document` | Full metadata (title, author, source, category, license, year, language, URL, direct PDF URL, description) for a document ID. |
|
|
130
|
+
|
|
131
|
+
### Claude Desktop
|
|
132
|
+
|
|
133
|
+
Add to `claude_desktop_config.json`:
|
|
134
|
+
|
|
135
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
136
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"mcpServers": {
|
|
141
|
+
"conceptio": {
|
|
142
|
+
"command": "conceptio",
|
|
143
|
+
"args": ["mcp"]
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Cursor
|
|
150
|
+
|
|
151
|
+
`Settings → Cursor Settings → MCP → Add new MCP server`:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"mcpServers": {
|
|
156
|
+
"conceptio": {
|
|
157
|
+
"command": "conceptio",
|
|
158
|
+
"args": ["mcp"]
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### OpenCode / Windsurf / Antigravity
|
|
165
|
+
|
|
166
|
+
The same JSON shape works in any MCP-aware client — point it at `conceptio mcp`
|
|
167
|
+
and the five tools above are exposed automatically.
|
|
168
|
+
|
|
169
|
+
After adding, restart the client and you can ask, for example:
|
|
170
|
+
|
|
171
|
+
> *"Find the NIST post-quantum encryption standard and download the PDF into my workspace."*
|
|
172
|
+
|
|
173
|
+
### Manual smoke test
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | conceptio mcp
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Fair use
|
|
182
|
+
|
|
183
|
+
Every source in Conceptio is open access or public domain, and searching is free.
|
|
184
|
+
To keep the archive open for everyone, a trial allowance applies per client
|
|
185
|
+
(and then a rate limit). When a limit is reached, the CLI returns a clear,
|
|
186
|
+
non-blocking message:
|
|
187
|
+
|
|
188
|
+
```text
|
|
189
|
+
Free trial allowance exhausted. Add a license key to continue at higher
|
|
190
|
+
limits: docs at https://conceptio.app or `conceptio auth <key>`.
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Add a license key once with `conceptio auth <key>` — it is stored in
|
|
194
|
+
`~/.conceptio/config.json` and sent with every request. No account or sign-up is
|
|
195
|
+
required to search. `conceptio quota` reports your current tier (`public` / `pro` /
|
|
196
|
+
`institutional`).
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Configuration
|
|
201
|
+
|
|
202
|
+
State lives in `~/.conceptio/config.json`:
|
|
203
|
+
|
|
204
|
+
```json
|
|
205
|
+
{
|
|
206
|
+
"api_base": "https://www.conceptio.app",
|
|
207
|
+
"license_key": "",
|
|
208
|
+
"default_limit": 10,
|
|
209
|
+
"default_citation_format": "bibtex"
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Override the API base (for staging, self-hosted mirrors, or a local proxy) by
|
|
214
|
+
editing `api_base`. Set `default_limit` to change the search page size; set
|
|
215
|
+
`default_citation_format` to any of the 11 supported format names.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Development
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
pip install -e ".[test]" # or: pip install -e . && pip install pytest
|
|
223
|
+
pytest tests/ # 41 offline tests (mocked HTTP, no network)
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
The test suite is fully offline — `httpx` is patched with a `MockTransport`
|
|
227
|
+
and `ConceptioClient` is stubbed where it composes other services. No test makes a
|
|
228
|
+
real network call.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## License
|
|
233
|
+
|
|
234
|
+
MIT — see [LICENSE](LICENSE).
|
|
235
|
+
|
|
236
|
+
Part of the [Conceptio Open Knowledge Archive](https://conceptio.app) — 500+
|
|
237
|
+
living sources: arXiv, NIST, OWASP, CISA, PubMed/PMC, MIT OpenCourseWare,
|
|
238
|
+
EUR-Lex, Project Gutenberg, and more.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""conceptio_cli — terminal-first search + MCP server for the Conceptio Open Knowledge Archive."""
|
|
2
|
+
|
|
3
|
+
# Prefer the installed distribution's metadata so `--version` tracks the released
|
|
4
|
+
# package (e.g. 0.1.0.post2). Falls back to a literal for uninstalled source
|
|
5
|
+
# checkouts so imports never hard-fail.
|
|
6
|
+
try:
|
|
7
|
+
from importlib.metadata import version as _dist_version
|
|
8
|
+
__version__ = _dist_version("conceptio-search")
|
|
9
|
+
except Exception:
|
|
10
|
+
__version__ = "0.1.0"
|