Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Before the first release, configure PyPI Trusted Publishing:
2. Add a new pending publisher:
- **PyPI project name**: `python-docs-mcp-server`
- **Owner**: your GitHub username or org
- **Repository**: `python-docs-mcp-server`
- **Repository**: `python-stdlib-mcp`
- **Workflow name**: `release.yml`
- **Environment name**: `pypi`
3. In the GitHub repo, go to Settings > Environments
Expand Down Expand Up @@ -51,7 +51,7 @@ versions 3.10 through 3.14.
```

4. Monitor the release workflow at:
https://github.com/<owner>/python-docs-mcp-server/actions/workflows/release.yml
https://github.com/<owner>/python-stdlib-mcp/actions/workflows/release.yml

5. Verify the package on PyPI:
https://pypi.org/project/python-docs-mcp-server/0.1.2/
Expand All @@ -76,7 +76,7 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.

### Pre-Release Verification

- [ ] All CI tests green on main: check https://github.com/<owner>/python-docs-mcp-server/actions/workflows/ci.yml
- [ ] All CI tests green on main: check https://github.com/<owner>/python-stdlib-mcp/actions/workflows/ci.yml
- [ ] Local test suite passes:
```bash
uv run pytest --tb=short -q
Expand All @@ -96,7 +96,7 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
- [ ] PyPI pending publisher configured at https://pypi.org/manage/account/publishing/:
- PyPI project name: `python-docs-mcp-server`
- Owner: `<your-github-username>`
- Repository: `python-docs-mcp-server`
- Repository: `python-stdlib-mcp`
- Workflow name: `release.yml`
- Environment name: `pypi`
- [ ] GitHub environment `pypi` created in repo Settings > Environments
Expand All @@ -118,7 +118,7 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
```bash
git push origin v0.1.1
```
- [ ] Monitor the workflow run: https://github.com/<owner>/python-docs-mcp-server/actions/workflows/release.yml
- [ ] Monitor the workflow run: https://github.com/<owner>/python-stdlib-mcp/actions/workflows/release.yml
- [ ] Verify all three jobs pass: `build` -> `publish` -> `github-release`

### Post-Release Verification (SHIP-06)
Expand Down Expand Up @@ -166,7 +166,7 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
examples
- [ ] Verify `README.md` has no temporary pre-release install artifacts:
```bash
rg -n 'PRE[-]PYPI|Before PyPI publishing|Until the first PyPI|After PyPI publishing|git\\+https://github.com/.*/python-docs-mcp-server' README.md
rg -n 'PRE[-]PYPI|Before PyPI publishing|Until the first PyPI|After PyPI publishing|git\\+https://github.com/.*/python-stdlib-mcp' README.md
```
The command should return no output.
- [ ] Review `docs/launch/` so no public launch copy still asks users to install
Expand Down
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# python-docs-mcp-server

<!-- mcp-name: io.github.ayhammouda/python-docs-mcp-server -->
<!-- mcp-name: io.github.ayhammouda/python-stdlib-mcp -->

**For AI coding agents writing Python, `python-docs-mcp-server` is the canonical Python stdlib oracle: exact symbols, exact sections, exact versions — offline, *always free, always MIT*, token-frugal.**

[![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)
[![Security Audit](https://github.com/ayhammouda/python-docs-mcp-server/actions/workflows/security.yml/badge.svg)](https://github.com/ayhammouda/python-docs-mcp-server/actions/workflows/security.yml)
[![CodeQL](https://github.com/ayhammouda/python-docs-mcp-server/actions/workflows/codeql.yml/badge.svg)](https://github.com/ayhammouda/python-docs-mcp-server/actions/workflows/codeql.yml)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/ayhammouda/python-docs-mcp-server/badge)](https://scorecard.dev/viewer/?uri=github.com/ayhammouda/python-docs-mcp-server)
[![python-docs-mcp-server MCP server](https://glama.ai/mcp/servers/ayhammouda/python-docs-mcp-server/badges/score.svg)](https://glama.ai/mcp/servers/ayhammouda/python-docs-mcp-server)
[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-v0.1.4-0f766e)](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.ayhammouda%2Fpython-docs-mcp-server)
[![CI](https://github.com/ayhammouda/python-stdlib-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/ayhammouda/python-stdlib-mcp/actions/workflows/ci.yml)
[![Security Audit](https://github.com/ayhammouda/python-stdlib-mcp/actions/workflows/security.yml/badge.svg)](https://github.com/ayhammouda/python-stdlib-mcp/actions/workflows/security.yml)
[![CodeQL](https://github.com/ayhammouda/python-stdlib-mcp/actions/workflows/codeql.yml/badge.svg)](https://github.com/ayhammouda/python-stdlib-mcp/actions/workflows/codeql.yml)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/ayhammouda/python-stdlib-mcp/badge)](https://scorecard.dev/viewer/?uri=github.com/ayhammouda/python-stdlib-mcp)
[![python-docs-mcp-server MCP server](https://glama.ai/mcp/servers/ayhammouda/python-stdlib-mcp/badges/score.svg)](https://glama.ai/mcp/servers/ayhammouda/python-stdlib-mcp)
[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-v0.1.4-0f766e)](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.ayhammouda%2Fpython-stdlib-mcp)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Python 3.12+](https://img.shields.io/badge/python-3.12%2B-blue)](https://www.python.org/)
[![No API Keys](https://img.shields.io/badge/API%20keys-none-success)](#why-use-it)
Expand Down Expand Up @@ -76,7 +76,7 @@ trimmed to the section that matters.
Local source smoke test until the PyPI package is published:

```bash
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git python-docs-mcp-server --version
uvx --from git+https://github.com/ayhammouda/python-stdlib-mcp.git python-docs-mcp-server --version
```
<!-- /PRE-PYPI -->

Expand All @@ -88,7 +88,7 @@ uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git python-d
Until the first PyPI release is published, run from GitHub:

```bash
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git python-docs-mcp-server --version
uvx --from git+https://github.com/ayhammouda/python-stdlib-mcp.git python-docs-mcp-server --version
```
<!-- /PRE-PYPI -->

Expand Down Expand Up @@ -119,7 +119,7 @@ Build the local documentation index:

<!-- PRE-PYPI: remove the GitHub-source build-index command and the "After PyPI publishing" lead-in after the first PyPI publish; the post-PyPI code fence below survives -->
```bash
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git python-docs-mcp-server build-index --versions 3.10,3.11,3.12,3.13,3.14
uvx --from git+https://github.com/ayhammouda/python-stdlib-mcp.git python-docs-mcp-server build-index --versions 3.10,3.11,3.12,3.13,3.14
```

After PyPI publishing, `uvx python-docs-mcp-server build-index ...` is enough.
Expand Down Expand Up @@ -163,7 +163,7 @@ Add this to your Claude Desktop configuration file:
"command": "uvx",
"args": [
"--from",
"git+https://github.com/ayhammouda/python-docs-mcp-server.git",
"git+https://github.com/ayhammouda/python-stdlib-mcp.git",
"python-docs-mcp-server"
]
}
Expand Down Expand Up @@ -200,7 +200,7 @@ global settings):
"command": "uvx",
"args": [
"--from",
"git+https://github.com/ayhammouda/python-docs-mcp-server.git",
"git+https://github.com/ayhammouda/python-stdlib-mcp.git",
"python-docs-mcp-server"
]
}
Expand Down Expand Up @@ -230,7 +230,7 @@ Add this to `.codex/config.toml`:
```toml
[mcp_servers.python-docs]
command = "uvx"
args = ["--from", "git+https://github.com/ayhammouda/python-docs-mcp-server.git", "python-docs-mcp-server"]
args = ["--from", "git+https://github.com/ayhammouda/python-stdlib-mcp.git", "python-docs-mcp-server"]
```

After PyPI publishing, use:
Expand Down Expand Up @@ -323,7 +323,7 @@ search, or silently fall back to unofficial community mirrors.
Before PyPI publishing, run `doctor` from the GitHub source package:

```bash
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git python-docs-mcp-server doctor
uvx --from git+https://github.com/ayhammouda/python-stdlib-mcp.git python-docs-mcp-server doctor
```

After PyPI publishing:
Expand All @@ -343,7 +343,7 @@ Before PyPI publishing, validate an existing index from the GitHub source
package:

```bash
uvx --from git+https://github.com/ayhammouda/python-docs-mcp-server.git python-docs-mcp-server validate-corpus
uvx --from git+https://github.com/ayhammouda/python-stdlib-mcp.git python-docs-mcp-server validate-corpus
```

After PyPI publishing:
Expand Down Expand Up @@ -442,7 +442,7 @@ access. If `uvx` is not found, specify the full path in your config:
"command": "C:\\Users\\YOU\\.local\\bin\\uvx.exe",
"args": [
"--from",
"git+https://github.com/ayhammouda/python-docs-mcp-server.git",
"git+https://github.com/ayhammouda/python-stdlib-mcp.git",
"python-docs-mcp-server"
]
}
Expand Down
6 changes: 3 additions & 3 deletions server.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.ayhammouda/python-docs-mcp-server",
"name": "io.github.ayhammouda/python-stdlib-mcp",
"description": "The canonical Python stdlib oracle for AI coding agents. Exact symbols, exact sections, exact versions — offline, always free, always MIT, token-frugal.",
"title": "Python Docs MCP Server",
"websiteUrl": "https://github.com/ayhammouda/python-docs-mcp-server",
"websiteUrl": "https://github.com/ayhammouda/python-stdlib-mcp",
"repository": {
"url": "https://github.com/ayhammouda/python-docs-mcp-server",
"url": "https://github.com/ayhammouda/python-stdlib-mcp",
"source": "github"
},
"version": "0.1.4",
Expand Down