pforge MCP server
2026년 11월 10일 커밋보일러플레이트 코드를 작성하는 대신 선언적인 YAML 설정을 사용하여 MCP server를 구축합니다.
다른 이름 paiml/pforge
- 스타
- 3
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 0.1.2
- 마지막 커밋
- 2026년 11월 10일
- 라이선스
- MIT
pforge MCP란?
pforge은(는) MCP server입니다. 보일러플레이트 코드를 작성하는 대신 선언적인 YAML 설정을 사용하여 MCP server를 구축합니다.
프로젝트 README에서 생성된 요약
pforge MCP server 정보
반복적인 보일러플레이트 코드 작성 없이 Model Context Protocol server를 만들고자 하는 개발자는 pforge를 사용하여 YAML 설정으로 도구를 정의할 수 있습니다. 이 프레임워크는 선언된 내용을 바탕으로 최적화된 Rust 코드를 생성하며, pmcp SDK를 기반으로 프로토콜 구현 및 전송을 처리합니다. Cargo를 통해 pforge-cli를 설치하고 pforge serve 명령어를 사용하여 프로젝트를 실행함으로써 서버를 관리할 수 있습니다.
이 시스템은 다양한 요구 사항에 맞게 네 가지 distinct 핸들러 유형을 지원합니다. 타입 안정성을 위한 native Rust 함수, shell 실행을 위한 CLI 명령, 엔드포인트 프록시를 위한 HTTP, 그리고 도구를 서로 연결하는 pipeline이 있습니다. Rust 기반으로 구축되었지만, Deno/TypeScript 브릿지를 제공하여 타입 안정성이 보장된 핸들러 정의와 런타임 스키마 검증이 가능합니다. 이러한 접근 방식은 프로토콜 구현 작업에서 도구 로직과 설정으로 초점을 전환하여 빠른 개발을 가능하게 합니다.
활용 사례
- 1새로운 서버의 신속한 스캐폴딩개발자는 단일 명령어를 실행하여 새로운 프로젝트 구조를 빠르게 초기화할 수 있습니다.
- 2도구로서 shell 명령어 실행CLI 핸들러 유형을 사용하여 로컬 시스템 명령어를 실행하는 MCP 도구를 만들 수 있습니다.
- 3외부 웹 서비스 프록시개발자는 HTTP 핸들러를 사용하여 기존 웹 API로 연결되는 브릿지 역할을 하는 서버를 구축할 수 있습니다.
- 4TypeScript를 사용한 서버 구축웹 기술을 선호하는 사용자는 순수 Rust 대신 Deno와 TypeScript를 사용하여 핸들러를 구현할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능paiml/pforge is public and reachablegithub.com/paiml/pforge ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-10github.com/paiml/pforge ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기pforge
A declarative framework for building Model Context Protocol (MCP) servers using YAML configuration.
MCP Server
Registry Name: io.github.paiml/pforge
pforge is available in the Model Context Protocol (MCP) Registry. Install it via:
# Via Cargo (recommended)
cargo install pforge-cli
# Then run as MCP server
pforge serve
For Maintainers: See MCP Registry Publishing Guide for publishing instructions.
What is pforge?
pforge lets you define MCP servers in YAML instead of writing boilerplate code. It's built on top of pmcp (rust-mcp-sdk) and generates optimized Rust code from your configuration.
Quick example:
forge:
name: my-server
version: 0.1.0
transport: stdio
tools:
- type: native
name: greet
description: "Greet someone"
handler:
path: handlers::greet_handler
params:
name: { type: string, required: true }
Installation
# From crates.io
cargo install pforge-cli
# From source
git clone https://github.com/paiml/pforge
cd pforge
cargo install --path crates/pforge-cli
Quick Start
# Create new project
pforge new my-server
cd my-server
# Run the server
pforge serve
The scaffolded project includes a working example handler. Edit pforge.yaml to add more tools, then implement handlers in src/handlers/.
Handler Types
pforge supports four handler types:
- Native - Rust functions with full type safety
- CLI - Execute shell commands
- HTTP - Proxy HTTP endpoints
- Pipeline - Chain multiple tools together
See the book for detailed examples of each type.
Language Bridges
pforge provides language bridges for building MCP servers in your preferred language:
Deno/TypeScript Bridge
Build type-safe MCP servers using TypeScript and Deno with native performance:
import { PforgeBridge } from "https://raw.githubusercontent.com/paiml/pforge/main/bridges/deno/bridge.ts";
const bridge = new PforgeBridge();
bridge.register({
name: "greet",
description: "Greet a user by name",
handler: (input: { name: string }) => ({
success: true,
data: { message: `Hello, ${input.name}!` },
}),
});
const result = await bridge.execute("greet", { name: "Alice" });
console.log(result.data);
Features:
- Type-safe handler definitions with TypeScript generics
- Runtime schema validation with no external dependencies
- O(1) handler lookup performance
- Both sync and async handler support
- 74+ tests passing with full quality gates
Documentation: bridges/deno/README.md
Coming Soon
- Python bridge (FFI-based with asyncio support)
- Go bridge (CGo-based with goroutine support)
- Node.js bridge (Native addon with N-API)
Documentation
- Book - Complete guide with examples and comparisons
- Architecture - Technical design details
- User Guide - Usage guide
- Implementation Status - Current project status
- CLAUDE.md - Development workflow for contributors
Examples
- hello-world - Minimal native handler example
- calculator - Math operations with tests
- rest-api-proxy - HTTP handler examples
Project Status
Version: 0.1.2
Published crates:
pforge-config- Configuration parsingpforge-macro- Procedural macrospforge-runtime- Core runtime (depends on pmcp)pforge-codegen- Code generationpforge-cli- CLI tool
Test results: 120+ tests passing (90+ unit/integration, 12 property-based, 8 quality gates, 5+ doctests)
See IMPLEMENTATION_STATUS.md for detailed progress.
Development
# Run tests
cargo test --all
# Run quality gates
make quality-gate
# Watch mode
make watch
# Build release
make build-release
See CLAUDE.md for full development workflow.
Architecture
pforge is built as a framework on top of pmcp (rust-mcp-sdk):
┌─────────────────────────────────┐
│ pforge (Framework Layer) │
│ - YAML → Rust codegen │
│ - Handler registry │
│ - State management │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ pmcp (Protocol SDK) │
│ - MCP protocol implementation │
│ - Transport handling │
└─────────────────────────────────┘
When to use pmcp directly: You need fine-grained control over MCP protocol details or want to avoid code generation.
When to use pforge: You want declarative configuration and rapid MCP server development with less code.
Contributing
Contributions are welcome. Please:
- Read CLAUDE.md for development standards
- Check ROADMAP.md for current priorities
- Ensure tests pass:
cargo test --all - Ensure quality gates pass:
make quality-gate
All commits are validated by pre-commit hooks that check code formatting, linting, tests, complexity, coverage, and markdown link validity (using pmat validate-docs) to prevent broken documentation links.
License
MIT - see LICENSE
Acknowledgments
Built on pmcp by Pragmatic AI Labs.
pforge MCP 질문
pforge에서 지원하는 핸들러 유형에는 어떤 것들이 있나요?
pforge는 Native (Rust 함수), CLI (shell 명령), HTTP (엔드포인트 프록시), Pipeline (도구 체이닝) 핸들러 유형을 지원합니다.
TypeScript를 사용하여 MCP server를 구축할 수 있나요?
네, pforge는 Deno/TypeScript 브릿지를 제공하여 TypeScript와 Deno를 사용해 타입 안정성이 보장된 MCP server를 구축할 수 있습니다.
pforge를 어떻게 설치하나요?
Cargo를 통해 'cargo install pforge-cli' 명령어로 CLI를 설치할 수 있습니다.
pmcp를 직접 사용하는 대신 pforge를 사용해야 하는 경우는 언제인가요?
코드 작성을 최소화하고 선언적 설정과 빠른 개발을 원할 때는 pforge를 사용하고, 프로토콜 세부 사항에 대해 정밀한 제어가 필요할 때는 pmcp를 사용하는 것이 좋습니다.