Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
High-quality Rust SDK for Model Context Protocol (MCP) with full TypeScript SDK compatibility
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 paiml 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.23.0)于9天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, AvaHR
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Production-grade Rust implementation of the [Model Context Protocol](https://modelcontextprotocol.io) (MCP) - 16x faster than TypeScript, built with Toyota Way quality principles
PMCP is a complete MCP ecosystem for Rust, providing everything you need to build, test, and deploy production-grade MCP servers — in Rust, or from configuration alone:
config.toml, or serve a governed Excel workbook from a compiled bundle — all no Rust required (pmcp-server-toolkit, pmcp-sql-server, pmcp-openapi-server, pmcp-workbook-server)pmcp-agent), four reference team servers (pmcp-team-servers), and a portable AI-Package format (pmcp-package) — driven from the cargo pmcp agent/team/package verbsWhy PMCP?
unwrap() in production codeChoose your path based on experience and preference:
New in v2.9 — this removes the biggest blocker to putting organizational data behind MCP: you no longer need a Rust programmer. Describe a production MCP server over a SQL database or any OpenAPI / HTTP backend in a config.toml — declare the backend, a handful of curated tools, and a Code Mode policy — and a prebuilt binary serves it. No Rust, no recompiling. Curated tools cover the common ~20%; Code Mode handles the long-tail ~80% by generating queries against your schema/spec under a static, default-deny policy. A business analyst curates the API slice in config; the toolkit does the rest.
SQL — SQLite / Postgres / MySQL / Athena (runnable from a checkout of this repo):
cargo install pmcp-sql-server
sqlite3 /tmp/pmcp-sqlite-explorer.db < crates/pmcp-sql-server/examples/sqlite-explorer.sql pmcp-sql-server \ --config crates/pmcp-sql-server/examples/sqlite-explorer.toml \ --schema crates/pmcp-sql-server/examples/sqlite-explorer.sql
OpenAPI / HTTP — any REST backend, with six outgoing-auth models including OAuth passthrough (the server holds no standing credential and forwards the caller's own token, so it can only act as the signed-in user):
cargo install pmcp-openapi-server
#
base_url is a SLOT, not a baked literal, so the endpoint comes from theTFL_BASE_URL=https://api.tfl.gov.uk TFL_APP_KEY= \ pmcp-openapi-server --config crates/pmcp-openapi-server/examples/london-tube.toml
Excel workbook — a governed spreadsheet, served as one MCP tool per output table (no config.toml, no schema; the single input is a compiled bundle@version directory). Author inputs and outputs as named Excel Tables and each output table becomes its own well-named, well-typed MCP tool with a DAG-derived input schema:
cargo install pmcp-workbook-server
cargo pmcp workbook explain pricing.xlsx # e.g. calculate_tax, estimate_refund
cargo pmcp workbook compile pricing.xlsx --workflow quote --approver alice pmcp-workbook-server --bundle-dir bundles/quote@1.0.0
Want to extend and deploy it? cargo pmcp new my-server --kind sql-server (or --kind openapi-server / --kind workbook-server) scaffolds the same config-driven server as a small crate, ready for cargo pmcp deploy to AWS Lambda / Google Cloud Run / Cloudflare / pmcp.run.
Learn more: the *Config-Driven SQL Servers*, *OpenAPI*, and *Config-Driven Workbook Servers* chapters in the pmcp-book · pmcp-sql-server · pmcp-openapi-server · pmcp-workbook-server · pmcp-server-toolkit
Build production-ready MCP servers with AI assistance in minutes:
Prerequisites:
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rustup update
cargo install cargo-pmcp
Install Claude Code AI Agent:
# Install the mcp-developer subagent (user-level - works across all projects)
curl -fsSL https://raw.githubusercontent.com/paiml/rust-mcp-sdk/main/ai-agents/claude-code/mcp-developer.md \ -o ~/.claude/agents/mcp-developer.md
Build your server:
You: "Create a weather forecast MCP server with tools for getting current conditions and 5-day forecasts"
Claude Code: [Invokes mcp-developer subagent]
I'll create a production-ready weather MCP server using cargo-pmcp.
$ cargo pmcp new weather-mcp-workspace $ cd weather-mcp-workspace $ cargo pmcp add server weather --template minimal
[Implements type-safe tools with validation] [Adds comprehensive tests and observability] [Validates quality gates]
✅ Production-ready server complete with 85% test coverage!
What you get: Production-ready code following Toyota Way principles, with comprehensive tests, structured logging, metrics collection, and zero clippy warnings.
Learn more: AI-Assisted Development Course | AI Agents README
Scaffold and build servers using the cargo-pmcp CLI:
Installation:
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rustup update
cargo install cargo-pmcp
Create a server:
# Create workspace
cargo pmcp new my-mcp-workspace cd my-mcp-workspace
cargo pmcp add server myserver --template minimal
cargo pmcp dev --server myserver
cargo pmcp test --server myserver --generate-scenarios cargo pmcp test --server myserver
cargo build --release
Available templates (cargo pmcp add server --template ):
minimal - Empty structure for custom serverscalculator - Arithmetic operations (learning)complete_calculator - Full-featured reference implementationsqlite_explorer - Hand-coded Rust database browser (escape hatch)Config-driven kinds (cargo pmcp new --kind — TOML-driven, no per-tool Rust):
sql-server - SQL MCP server over SQLite / Postgres / MySQL / Athena from config.tomlopenapi-server - MCP server over any OpenAPI / HTTP backend from config.tomlworkbook-server - MCP server over a governed Excel workbook, served from a compiled bundle@version directoryLearn more: cargo-pmcp Guide
Use the pmcp crate directly for maximum control:
Installation:
[dependencies]
pmcp = "2.0" tokio = { version = "1", features = ["full"] } serde = { version = "1", features = ["derive"] } schemars = "0.8" # For type-safe tools
Type-safe server example:
use pmcp::{ServerBuilder, TypedTool, RequestHandlerExtra, Error};
use schemars::JsonSchema; use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, JsonSchema)] #[schemars(deny_unknown_fields)] struct WeatherArgs { #[schemars(description = "City name")] city: String,
#[schemars(description = "Number of days (1-5)")] days: Option , }
#[derive(Debug, Serialize, JsonSchema)] struct WeatherOutput { temperature: f64, conditions: String, }
async fn get_weather(args: WeatherArgs, _extra: RequestHandlerExtra) -> pmcp::Result { // Validate if args.city.is_empty() { return Err(Error::validation("City cannot be empty")); }
let days = args.days.unwrap_or(1); if !(1..=5).contains(&days) { return Err(Error::validation("Days must be 1-5")); }
// Call weather API... Ok(WeatherOutput { temperature: 72.0, conditions: "Sunny".to_string(), }) }
#[tokio::main] async fn main() -> pmcp::Result<()> { let server = ServerBuilder::new() .name("weather-server") .version("1.0.0") .tool("get-weather", TypedTool::new("get-weather", |args, extra| { Box::pin(get_weather(args, extra)) }).with_description("Get weather forecast for a city")) .build()?;
server.run_stdio().await?; Ok(()) }
Learn more: pmcp-book | pmcp-course | API Documentation
High-performance Rust implementation of the MCP protocol.
Key Features:
只显示了开头部分;其余内容请在仓库中阅读