Reusable utility methods for MCP servers
Project description
mcp-methods
Shared Rust-powered utilities for Model Context Protocol servers. Pip-installable Python library AND a native Rust crate AND a generic CLI binary — three distribution shapes, one set of primitives.
Fast file search (ripgrep-backed), GitHub integration with smart compaction, text utilities, and an rmcp-backed MCP server framework with YAML-manifest configuration. The common building blocks needed when writing MCP tool servers.
The Rust library is the source of truth; the Python wheel is a thin pyo3 binding over it. Rust consumers see zero pyo3 in their dep tree.
Install
Python — pip install
pip install mcp-methods
from mcp_methods import ElementCache, ripgrep, list_dir, github_discussions, read_file
The wheel ships the mcp-server CLI on PATH alongside the library — which mcp-server should resolve immediately. Single abi3 wheel per OS; works on Python 3.10 through 3.13 without reinstall.
Rust library — cargo add
[dependencies]
mcp-methods = "0.3"
use mcp_methods::cache::ElementCache;
use mcp_methods::{github, files, grep, list_dir, compact, html};
use mcp_methods::server::{McpServer, ServerOptions, Manifest}; // with default `server` feature
Zero pyo3 in the dep tree. The server feature (default-on) adds the rmcp-backed framework; disable with default-features = false for the bare primitives.
For pre-release coordination — pinning against a specific commit while the framework is iterating quickly — depend on a git rev:
mcp-methods = { git = "https://github.com/kkollsga/mcp-methods.git", rev = "<short SHA>", features = ["server"] }
The downstream kglite-mcp-server uses this pattern to stay locked to the exact framework rev its integration tests pass against.
CLI — cargo install (alternative path)
The CLI ships in the pip wheel by default. If you'd rather skip Python:
cargo install --git https://github.com/kkollsga/mcp-methods mcp-server
Not on crates.io — mcp-server is unpublished on purpose. The Rust library on crates.io is the published surface; the binary ships via the wheel and via git.
Documentation
Full docs at mcp-methods.readthedocs.io (Sphinx + Read the Docs, structured along Diátaxis lines):
- Getting Started — 15-minute walkthrough from pip install to a running server
- Core Concepts — manifest, operating modes, trust gates, downstream-binary pattern
- Guides — writing a manifest, downstream binaries, trust gates, python bindings, watch + workspace modes
- Reference — manifest schema, Python API, Rust API
- Explanation — three-crate architecture, advisory-trust pattern, distribution shape
Rust API rustdoc: docs.rs/mcp-methods.
What's included
| Primitive | Purpose |
|---|---|
list_dir |
Tree-formatted directory listing with depth, glob, .gitignore, annotation |
ripgrep_files, ripgrep, ripgrep_lines |
Ripgrep-powered search (in-process, no subprocess) |
read_file |
Safe file reading with path traversal protection |
github_discussions, git_api |
GitHub issue/PR fetching with smart compaction, REST wrapper |
ElementCache |
Drill-down cache for collapsed elements in GitHub discussions |
html_to_text, compact_text, collapse_code_blocks |
Text utilities |
extract_github_refs, detect_git_repo, validate_repo |
Git/GitHub helpers |
mcp_methods.fastmcp |
Composable tool registrations for FastMCP servers |
Plus the server framework in mcp_methods::server::*: McpServer, ServerOptions, Manifest, Workspace, watch_dir, load_env_walk. See the Rust API reference.
License
MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_methods-0.3.31-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: mcp_methods-0.3.31-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
161938d339be06602980562f43b9ed529461234c11a05f0830d9c3ca4d801dd1
|
|
| MD5 |
9f5de9e6d6e8cc7462520156a67c321d
|
|
| BLAKE2b-256 |
b546f07449c6dd22f0c28508ff2b17c236122169d5a8b2d2c27497f414a26de6
|
File details
Details for the file mcp_methods-0.3.31-cp310-abi3-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: mcp_methods-0.3.31-cp310-abi3-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 7.8 MB
- Tags: CPython 3.10+, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e054eac7f746cb21a22ad41ec4e05b22db6f35c17e61447854a2978c542050d1
|
|
| MD5 |
1dea2874dab3d402b9138d41efb173de
|
|
| BLAKE2b-256 |
509606d2e706abb9dd24476088efd30c4382ef2ae3e9a7d79c03e7f57a222f4b
|
File details
Details for the file mcp_methods-0.3.31-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: mcp_methods-0.3.31-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.1 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94a8b85744753b2640a83ac478e6ffbcbdbfe7beef6bfe89b8125eed0e6e90d0
|
|
| MD5 |
a9ee8fb342b445ed4636e1214dd41cf4
|
|
| BLAKE2b-256 |
243eacdd8b66c5bfc9a565fb11f31bf19026ffc769657e0f455fb96b621d966b
|