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
40 changes: 33 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,38 @@
MCP server for the [m-dev-tools](https://github.com/m-dev-tools) org catalog. Exposes three first-class agent tools:

- **`route_intent(query)`** — plain-English intent → typed IDs (e.g. `"parse JSON in M"` → `module:m-stdlib#STDJSON`)
- **`describe(typed_id)`** — typed ID → pointer-blob (manifest URL, AGENTS.md URL, verification commands, …)
- **`describe(typed_id)`** — typed ID → pointer-blob (manifest URL, `AGENTS.md` URL, verification commands, …)
- **`verify(repo)`** — list a repo's declared verification commands (does not execute them)

The server reads the catalog at <https://github.com/m-dev-tools/.github> over the network at call time; it is a thin wrapper, not a cache. See [`AGENTS.md`](AGENTS.md) for the contract and [phase4-plan.md](https://github.com/m-dev-tools/.github/blob/main/docs/ai-discoverability/phase4-plan.md) for the broader plan.
The server reads the catalog at <https://github.com/m-dev-tools/.github> over the network at call time; it is a thin wrapper, not a cache. See [`AGENTS.md`](https://github.com/m-dev-tools/m-dev-tools-mcp/blob/main/AGENTS.md) for the contract and the [AI users guide](https://github.com/m-dev-tools/.github/blob/main/docs/ai-discoverability/ai-users-guide.md) for the full walk-through.

## Status
<!-- Required by registry.modelcontextprotocol.io for PyPI ownership validation. Do not remove. -->
mcp-name: io.github.m-dev-tools/m-dev-tools-mcp

Track A scaffold (Phase-0 contract + CI). The three tools are registered with the MCP framework but their bodies raise `NotImplementedError` until Track B lands. Distribution is GitHub Releases (not PyPI) per `phase4-plan.md` §0.

## Install (Track B onward)
## Install

```bash
uvx --from git+https://github.com/m-dev-tools/m-dev-tools-mcp@main m-dev-tools-mcp
pip install m-dev-tools-mcp
# or:
uvx m-dev-tools-mcp
# or from a GitHub Release wheel:
pip install https://github.com/m-dev-tools/m-dev-tools-mcp/releases/download/v0.2.4/m_dev_tools_mcp-0.2.4-py3-none-any.whl
```

Point any MCP client at the `m-dev-tools-mcp` binary the install provides:

```json
{
"mcpServers": {
"m-dev-tools": { "command": "m-dev-tools-mcp" }
}
}
```

Or for clients that consult the public MCP registry:

```
io.github.m-dev-tools/m-dev-tools-mcp
```

## Develop
Expand All @@ -24,8 +43,15 @@ uvx --from git+https://github.com/m-dev-tools/m-dev-tools-mcp@main m-dev-tools-m
make install # creates .venv and installs editable + dev deps
make test # pytest
make check # lint + mypy + test + check-manifest + check-agents
make build # → wheel-out/m_dev_tools_mcp-<ver>-py3-none-any.whl
```

## More

- Architecture: [m-dev-tools/.github](https://github.com/m-dev-tools/.github)'s `docs/ai-discoverability/AI-discoverability-architecture.md`
- Plan + phases: `docs/ai-discoverability/phases/`
- Release process: tag `vX.Y.Z` on `main` → `.github/workflows/release.yml` builds the wheel, attaches it to a GitHub Release, publishes to PyPI via Trusted Publisher OIDC, and updates the MCP registry record via GitHub OIDC.

## License

[AGPL-3.0](LICENSE). Same license as every other m-dev-tools repo.
2 changes: 1 addition & 1 deletion dist/mcp-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://raw.githubusercontent.com/m-dev-tools/.github/main/profile/repo.meta.schema.json",
"kind": "m-dev-tools-mcp.tools",
"package": "m_dev_tools_mcp",
"version": "0.2.3",
"version": "0.2.4",
"tool_count": 3,
"tools": [
{
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "m-dev-tools-mcp"
version = "0.2.3"
version = "0.2.4"
description = "MCP server wrapping the m-dev-tools catalog: route_intent, describe, verify."
readme = "README.md"
license = { text = "AGPL-3.0" }
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@
"url": "https://github.com/m-dev-tools/m-dev-tools-mcp",
"source": "github"
},
"version": "0.2.3",
"version": "0.2.4",
"packages": [
{
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"identifier": "m-dev-tools-mcp",
"version": "0.2.3",
"version": "0.2.4",
"runtimeHint": "uvx",
"transport": {
"type": "stdio"
Expand Down
2 changes: 1 addition & 1 deletion src/m_dev_tools_mcp/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""m-dev-tools-mcp — MCP server wrapping the m-dev-tools org catalog."""

__version__ = "0.2.3"
__version__ = "0.2.4"
Loading