-
Notifications
You must be signed in to change notification settings - Fork 1
chore: prepare launch metadata and drafts #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| # Reddit launch drafts | ||
|
|
||
| Do not post these until the package is published on PyPI and the release smoke | ||
| test passes. Until then, use the GitHub `uvx --from git+...` install command. | ||
|
|
||
| ## r/Python | ||
|
|
||
| Title: I built a local MCP server for official Python stdlib docs | ||
|
|
||
| I built `mcp-server-python-docs`, a small read-only MCP server that gives AI | ||
| coding agents access to the official Python standard library docs. | ||
|
|
||
| Why I wanted it: | ||
|
|
||
| - exact stdlib symbol lookup via Python `objects.inv` | ||
| - version-aware answers for Python 3.10 through 3.14 | ||
| - section-level retrieval instead of dumping whole pages into context | ||
| - local SQLite/FTS index, no runtime web scraping, no API keys | ||
| - read-only MCP tools, so the operational/security story is boring | ||
|
|
||
| Example use case: ask an agent about `asyncio.TaskGroup` in Python 3.13 and it | ||
| can retrieve the exact official docs section instead of guessing from generic web | ||
| results. | ||
|
|
||
| Repo: https://github.com/ayhammouda/python-docs-mcp-server | ||
|
|
||
| Current note: PyPI publishing is still being finalized. For now, test from | ||
| source: | ||
|
|
||
| ```bash | ||
| uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs --version | ||
| ``` | ||
|
|
||
| Feedback welcome, especially on retrieval quality, MCP client setup, and which | ||
| stdlib docs workflows feel clunky in real use. | ||
|
|
||
| ## r/LocalLLaMA | ||
|
|
||
| Title: Local MCP server for official Python docs, built for coding agents | ||
|
|
||
| I made a local MCP server for Python standard library documentation. It builds a | ||
| local index from the official docs and exposes small read-only tools for search | ||
| and section retrieval. | ||
|
|
||
| The goal is not to be a universal docs search engine. It is the opposite: a | ||
| boring, precise source for Python stdlib questions where version matters and | ||
| tokens are limited. | ||
|
|
||
| What it does: | ||
|
|
||
| - official Python docs only for stdlib retrieval | ||
| - Python-version-aware results across 3.10-3.14 | ||
| - exact symbol lookup from `objects.inv` | ||
| - local SQLite + FTS5 index | ||
| - no API keys or hosted retrieval dependency at query time | ||
|
|
||
| Repo: https://github.com/ayhammouda/python-docs-mcp-server | ||
|
|
||
| PyPI publishing is not done yet, so don't use the plain `uvx` package command | ||
| until that lands. Source install smoke test: | ||
|
|
||
| ```bash | ||
| uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs --version | ||
| ``` | ||
|
|
||
| I'd appreciate practical feedback from people wiring MCP into local coding | ||
| workflows. |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,39 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Show HN launch draft | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Do not submit until PyPI publishing is complete and the release smoke test passes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Title | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Show HN: Local MCP server for official Python standard library docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Post | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hi HN — I built `mcp-server-python-docs`, a read-only MCP server that gives AI | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| coding agents precise access to the official Python standard library docs. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| The motivation: generic docs retrieval is often noisy for stdlib questions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Python answers are sensitive to exact symbols and versions, and agents do not | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| need a whole docs page when one section answers the question. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| What it does: | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| - builds a local SQLite/FTS index from official Python docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| - resolves exact symbols from Python `objects.inv` | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| - retrieves section-level docs with truncation and pagination | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| - supports version-aware lookup across Python 3.10 through 3.14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| - runs locally, read-only, with no API keys | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| It is intentionally narrow. Use Context7 or generic retrieval for broad | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| third-party docs and web research. Use this when you want official stdlib docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| with less token waste. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+18
to
+29
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add one explicit demo query to the Show HN draft. The post explains the approach well, but it still misses a concrete demo query (requested in the launch objective), which weakens the “show” part of Show HN. Suggested addition What it does:
@@
- runs locally, read-only, with no API keys
+
+Demo query:
+- "In Python 3.13, what does asyncio.TaskGroup change compared to older asyncio patterns?"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Repo: https://github.com/ayhammouda/python-docs-mcp-server | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| PyPI publishing is still pending. Until that is finished, test from GitHub: | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| ```bash | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git mcp-server-python-docs --version | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| I'd love feedback on the MCP interface, retrieval output, and whether the local | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| indexing flow is clear enough. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| { | ||
| "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", | ||
| "name": "io.github.ayhammouda/python-docs-mcp-server", | ||
| "description": "Local, read-only MCP retrieval over official Python standard library docs.", | ||
| "title": "Python Docs MCP Server", | ||
| "websiteUrl": "https://github.com/ayhammouda/python-docs-mcp-server", | ||
| "repository": { | ||
| "url": "https://github.com/ayhammouda/python-docs-mcp-server", | ||
| "source": "github" | ||
| }, | ||
| "version": "0.1.1", | ||
| "packages": [ | ||
| { | ||
| "registryType": "pypi", | ||
| "registryBaseUrl": "https://pypi.org", | ||
| "identifier": "mcp-server-python-docs", | ||
| "version": "0.1.1", | ||
| "runtimeHint": "uvx", | ||
| "transport": { | ||
| "type": "stdio" | ||
| } | ||
| } | ||
| ], | ||
| "_meta": { | ||
| "io.modelcontextprotocol.registry/publisher-provided": { | ||
| "status": "ready-for-validation-after-pypi-publish", | ||
| "notes": "PyPI package metadata is included for the official MCP Registry, but package publication is tracked separately." | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| """MCP server for Python standard library documentation.""" | ||
|
|
||
| __version__ = "0.1.0" | ||
| __version__ = "0.1.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make command guidance fully consistent with the pre-PyPI state.
This section correctly says to use
uvx --from git+...before publishing, but later commands still use plainuvx mcp-server-python-docs ...without a post-PyPI qualifier (for example, Line 264 and Line 274), which can mislead current users into failing commands.🤖 Prompt for AI Agents