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월 6일 점검
레지스트리 이름이 GitHub 계정 paiml 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(2.23.0)은 9일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, zanadir
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Find what a repository's CI is missing, and which security checks cannot fail the build.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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:
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요