Skip to main content

AXM MCP Server — Runtime execution for the axm-protocols ecosystem

Project description

AXM Logo

axm-mcp — MCP server for the axm-protocols ecosystem

CI axm-audit Coverage PyPI Python 3.12+ Docs


Features

  • 🔌 Auto-discovery — Finds all axm.tools entry points from installed packages
  • 🛠️ MCP bridge — Exposes discovered tools as Model Context Protocol callables
  • Verify — One-shot project quality check: audit + init check + AST enrichment
  • 🌐 Web fetch — Anti-bot web page fetching via Scrapling (basic / dynamic / stealth)
  • 📋 List tools — Built-in meta-tool to list all available tools and descriptions
  • 📂 Tool catalog resourceaxm://tools MCP resource for passive tool discovery

Installation

uv add axm-mcp

With all AXM tools:

uv add "axm-mcp[all]"

Quick Start

# Start in stdio mode (default — backward-compatible)
axm-mcp

# Start as Streamable HTTP server (default port 9427)
axm-mcp serve

# Check server status
axm-mcp status

# Stop the running server
axm-mcp stop

All installed AXM tools are immediately available to any MCP client.

Server Modes

axm-mcp supports two transport modes:

Mode Command Client config Use case
stdio axm-mcp {"command": "uv", "args": ["run", "axm-mcp"]} One process per conversation (legacy)
HTTP axm-mcp serve {"type": "url", "url": "http://localhost:9427/mcp"} Single shared server, persistent cache

stdio forks a new process per conversation. Simple, but duplicates memory and has no shared state.

HTTP (Streamable HTTP) runs one persistent server that all conversations share — AST cache, protocol sessions, and tool state are preserved across calls. This is the recommended mode.

.mcp.json configuration

stdio (Claude Code):

{
  "mcpServers": {
    "axm-mcp": {
      "command": "uv",
      "args": ["run", "axm-mcp"]
    }
  }
}

HTTP (Claude Code):

{
  "mcpServers": {
    "axm-mcp": {
      "type": "url",
      "url": "http://localhost:9427/mcp"
    }
  }
}

Place this in ~/.claude/.mcp.json (global) or .mcp.json at the project root.

CLI Commands

Command Description
axm-mcp Start in stdio mode (backward-compatible default)
axm-mcp serve [--host HOST] [--port PORT] Start Streamable HTTP server (default port 9427)
axm-mcp status [--host HOST] [--port PORT] Check whether the HTTP server is running
axm-mcp stop Send SIGTERM to the running HTTP server
axm-mcp install [--port PORT] [--binary PATH] Install axm-mcp as a launchd service (macOS)
axm-mcp uninstall Remove the launchd service

The HTTP transport exposes a /health endpoint returning {"status": "ok", "tools_count": N}. Port can also be set via the AXM_MCP_PORT environment variable.

Service Management (macOS)

axm-mcp can run as a persistent background service managed by launchd:

# Install and start the service
axm-mcp install

# Remove the service
axm-mcp uninstall

install locates the axm-mcp binary, generates a launchd plist, and loads it via launchctl. uninstall unloads the service and removes the plist file.

MCP Tools

Tool Package Description
list_tools built-in List all available tools
verify built-in One-shot audit + init check + AST enrichment
web_fetch built-in Fetch web pages with anti-bot bypass (basic / dynamic / stealth)
axm://tools built-in MCP resource — passive tool catalog (via read_resource)
audit axm-audit Code quality audit (lint, types, complexity, security)
init_check axm-init 39 governance checks against AXM gold standard
init_scaffold axm-init Scaffold a new Python project
bib_search axm-bib Search academic papers by title
bib_doi axm-bib Resolve DOI → BibTeX
bib_pdf axm-bib Download paper PDF
bib_extract axm-bib Extract text from PDF

Development

This package is part of the axm-nexus workspace.

git clone https://github.com/axm-protocols/axm-nexus.git
cd axm-nexus
uv sync --all-groups
uv run --package axm-mcp --directory packages/axm-mcp pytest -x -q

License

Apache-2.0 — © 2026 Gabriel Jarry

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

axm_mcp-0.3.0.tar.gz (55.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

axm_mcp-0.3.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file axm_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: axm_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 55.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for axm_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 93863022e7416d7a7fbef2832ca3871d5023c275c27108a8bc6d211cc0c07148
MD5 b0ba662f6f791f0a2a51c09f728d6cab
BLAKE2b-256 ac8d4d9c3fea70a4795224febba9528b952bd1c9f42fa784c8b87f38b31b256a

See more details on using hashes here.

Provenance

The following attestation bundles were made for axm_mcp-0.3.0.tar.gz:

Publisher: publish.yml on axm-protocols/axm-nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file axm_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: axm_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for axm_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85f88532952ee00ab8599347825110d03b154dc5a13b58b8325b7c7dcc0ee989
MD5 70e238d36981f057b7af64cc987bd721
BLAKE2b-256 f493e11690264e092ffc119e11a6b8a1fff1af0de3d67b266547261178b67fec

See more details on using hashes here.

Provenance

The following attestation bundles were made for axm_mcp-0.3.0-py3-none-any.whl:

Publisher: publish.yml on axm-protocols/axm-nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page