Skip to content

Commit 8c6651a

Browse files
committed
docs: prepare launch pack for PyPI validation
1 parent 32405f0 commit 8c6651a

2 files changed

Lines changed: 83 additions & 8 deletions

File tree

README.md

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# mcp-server-python-docs
22

3+
<!-- mcp-name: io.github.ayhammouda/python-docs-mcp-server -->
4+
35
[![CI](https://github.com/ayhammouda/python-docs-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/ayhammouda/python-docs-mcp-server/actions/workflows/ci.yml)
46
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
57
[![Python 3.12+](https://img.shields.io/badge/python-3.12%2B-blue)](https://www.python.org/)
@@ -71,17 +73,21 @@ section.
7173

7274
Local source smoke test until the PyPI package is published:
7375

76+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
7477
```bash
7578
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs --version
7679
```
80+
<!-- /PRE-PYPI -->
7781

7882
## Install
7983

8084
Until the first PyPI release is published, run from GitHub:
8185

86+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
8287
```bash
8388
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs --version
8489
```
90+
<!-- /PRE-PYPI -->
8591

8692
After PyPI publishing is complete, the package will also run directly with
8793
`uvx`:
@@ -103,9 +109,11 @@ shell or use `python -m uv ...` as a fallback for local contributor commands.
103109

104110
Build the local documentation index:
105111

112+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
106113
```bash
107114
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs build-index --versions 3.10,3.11,3.12,3.13,3.14
108115
```
116+
<!-- /PRE-PYPI -->
109117

110118
After PyPI publishing, `uvx mcp-server-python-docs build-index ...` is enough.
111119

@@ -131,6 +139,7 @@ Add this to your Claude Desktop configuration file:
131139

132140
**Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`
133141

142+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
134143
```json
135144
{
136145
"mcpServers": {
@@ -145,6 +154,7 @@ Add this to your Claude Desktop configuration file:
145154
}
146155
}
147156
```
157+
<!-- /PRE-PYPI -->
148158

149159
Restart Claude Desktop after editing the config file.
150160

@@ -153,6 +163,7 @@ Restart Claude Desktop after editing the config file.
153163
Add this to your Cursor MCP settings (`.cursor/mcp.json` in your project or
154164
global settings):
155165

166+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
156167
```json
157168
{
158169
"mcpServers": {
@@ -167,16 +178,19 @@ global settings):
167178
}
168179
}
169180
```
181+
<!-- /PRE-PYPI -->
170182

171183
### Codex
172184

173185
Add this to `.codex/config.toml`:
174186

187+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
175188
```toml
176189
[mcp_servers.python-docs]
177190
command = "uvx"
178191
args = ["--from", "git+https://github.com/ayhammouda/python-docs-mcp-server.git", "mcp-server-python-docs"]
179192
```
193+
<!-- /PRE-PYPI -->
180194

181195
## How quality is verified
182196

@@ -258,7 +272,15 @@ search, or silently fall back to unofficial community mirrors.
258272

259273
## Diagnostics
260274

261-
Check the local environment:
275+
Before PyPI publishing, run `doctor` from the GitHub source package:
276+
277+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
278+
```bash
279+
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs doctor
280+
```
281+
<!-- /PRE-PYPI -->
282+
283+
After PyPI publishing:
262284

263285
```bash
264286
uvx mcp-server-python-docs doctor
@@ -268,7 +290,17 @@ This checks the runtime Python version, SQLite FTS5, cache/index paths, disk
268290
space, and whether the current interpreter has the `venv`/`ensurepip` support
269291
needed by `build-index`.
270292

271-
Validate an existing index:
293+
Validate an existing index.
294+
295+
Before PyPI publishing:
296+
297+
<!-- PRE-PYPI: replace this temporary GitHub source command after the first PyPI publish -->
298+
```bash
299+
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs validate-corpus
300+
```
301+
<!-- /PRE-PYPI -->
302+
303+
After PyPI publishing:
272304

273305
```bash
274306
uvx mcp-server-python-docs validate-corpus
@@ -282,6 +314,9 @@ If you see an error about SQLite FTS5 not being available:
282314

283315
**Linux x86-64**
284316

317+
After PyPI publishing, Linux x86-64 users can install the optional bundled
318+
SQLite package:
319+
285320
```bash
286321
pip install 'mcp-server-python-docs[pysqlite3]'
287322
```
@@ -309,7 +344,7 @@ JSON documentation content.
309344

310345
### `uvx` cache stale
311346

312-
If `uvx mcp-server-python-docs` runs an old version:
347+
After PyPI publishing, if `uvx mcp-server-python-docs` runs an old version:
313348

314349
```bash
315350
uvx --reinstall mcp-server-python-docs
@@ -362,6 +397,9 @@ every release.
362397

363398
Python documentation versions 3.10 through 3.14 are currently supported.
364399

400+
The server requires Python 3.12+ to run. Its generated documentation corpus can
401+
still index Python documentation versions 3.10 through 3.14.
402+
365403
## License
366404

367405
MIT

docs/launch/show-hn.md

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
# Show HN launch draft
22

3-
Do not submit until PyPI publishing is complete and the release smoke test passes.
3+
Use the pre-PyPI draft for private feedback only. Submit the post-PyPI draft to
4+
HN only after PyPI publishing is complete and the release smoke test passes.
45

5-
## Title
6+
## Pre-PyPI feedback draft
67

7-
Show HN: Local MCP server for official Python standard library docs
8+
### Title
9+
10+
Feedback: Local MCP server for official Python standard library docs
811

9-
## Post
12+
### Post
1013

11-
Hi HN I built `mcp-server-python-docs`, a read-only MCP server that gives AI
14+
Hi HN -- I built `mcp-server-python-docs`, a read-only MCP server that gives AI
1215
coding agents precise access to the official Python standard library docs.
1316

1417
The motivation: generic docs retrieval is often noisy for stdlib questions.
@@ -37,3 +40,37 @@ uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-serv
3740

3841
I'd love feedback on the MCP interface, retrieval output, and whether the local
3942
indexing flow is clear enough.
43+
44+
## Post-PyPI Show HN draft
45+
46+
### Title
47+
48+
Show HN: Local MCP server for official Python standard library docs
49+
50+
### Post
51+
52+
Hi HN -- I built `mcp-server-python-docs`, a read-only MCP server that gives AI
53+
coding agents precise access to the official Python standard library docs.
54+
55+
The motivation: generic docs retrieval is often noisy for stdlib questions.
56+
Python answers are sensitive to exact symbols and versions, and agents do not
57+
need a whole docs page when one section answers the question.
58+
59+
What it does:
60+
61+
- builds a local SQLite/FTS index from official Python docs
62+
- resolves exact symbols from Python `objects.inv`
63+
- retrieves section-level docs with truncation and pagination
64+
- supports version-aware lookup across Python 3.10 through 3.14
65+
- runs locally, read-only, with no API keys
66+
67+
Repo: https://github.com/ayhammouda/python-docs-mcp-server
68+
69+
Install after the PyPI release:
70+
71+
```bash
72+
uvx mcp-server-python-docs --version
73+
```
74+
75+
I'd love feedback on the MCP interface, retrieval output, and whether the local
76+
indexing flow is clear enough.

0 commit comments

Comments
 (0)