{"id":46602718,"url":"https://github.com/paiml/pforge","last_synced_at":"2026-06-13T07:01:53.927Z","repository":{"id":317705243,"uuid":"1068328157","full_name":"paiml/pforge","owner":"paiml","description":"Build production-ready Model Context Protocol servers with zero boilerplate and radical quality enforcement","archived":false,"fork":false,"pushed_at":"2026-06-07T05:41:25.000Z","size":4130,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-07T07:20:26.817Z","etag":null,"topics":["framework","mcp","paiml-active-tool","rust"],"latest_commit_sha":null,"homepage":"https://paiml.github.io/pforge/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paiml.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-02T08:06:10.000Z","updated_at":"2026-04-29T18:56:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"9a34f849-6125-4613-976a-9bc1e20d3307","html_url":"https://github.com/paiml/pforge","commit_stats":null,"previous_names":["paiml/pforge"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/paiml/pforge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paiml%2Fpforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paiml%2Fpforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paiml%2Fpforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paiml%2Fpforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paiml","download_url":"https://codeload.github.com/paiml/pforge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paiml%2Fpforge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34275068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","mcp","paiml-active-tool","rust"],"created_at":"2026-03-07T16:32:27.410Z","updated_at":"2026-06-13T07:01:53.875Z","avatar_url":"https://github.com/paiml.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pforge\n\nA declarative framework for building Model Context Protocol (MCP) servers using YAML configuration.\n\n[![CI](https://github.com/paiml/pforge/actions/workflows/ci.yml/badge.svg)](https://github.com/paiml/pforge/actions/workflows/ci.yml)\n[![crates.io](https://img.shields.io/crates/v/pforge-cli.svg)](https://crates.io/crates/pforge-cli)\n[![crates.io](https://img.shields.io/crates/v/pforge-runtime.svg)](https://crates.io/crates/pforge-runtime)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n## MCP Server\n\n**Registry Name:** [io.github.paiml/pforge](https://registry.modelcontextprotocol.io/)\n\npforge is available in the Model Context Protocol (MCP) Registry. Install it via:\n\n```bash\n# Via Cargo (recommended)\ncargo install pforge-cli\n\n# Then run as MCP server\npforge serve\n```\n\n**For Maintainers:** See [MCP Registry Publishing Guide](docs/mcp-registry-publish.md) for publishing instructions.\n\n## What is pforge?\n\npforge lets you define MCP servers in YAML instead of writing boilerplate code. It's built on top of [pmcp](https://github.com/paiml/pmcp) (rust-mcp-sdk) and generates optimized Rust code from your configuration.\n\n**Quick example:**\n\n```yaml\nforge:\n  name: my-server\n  version: 0.1.0\n  transport: stdio\n\ntools:\n  - type: native\n    name: greet\n    description: \"Greet someone\"\n    handler:\n      path: handlers::greet_handler\n    params:\n      name: { type: string, required: true }\n```\n\n## Installation\n\n```bash\n# From crates.io\ncargo install pforge-cli\n\n# From source\ngit clone https://github.com/paiml/pforge\ncd pforge\ncargo install --path crates/pforge-cli\n```\n\n## Quick Start\n\n```bash\n# Create new project\npforge new my-server\ncd my-server\n\n# Run the server\npforge serve\n```\n\nThe scaffolded project includes a working example handler. Edit `pforge.yaml` to add more tools, then implement handlers in `src/handlers/`.\n\n## Handler Types\n\npforge supports four handler types:\n\n1. **Native** - Rust functions with full type safety\n2. **CLI** - Execute shell commands\n3. **HTTP** - Proxy HTTP endpoints\n4. **Pipeline** - Chain multiple tools together\n\nSee the [book](https://paiml.github.io/pforge) for detailed examples of each type.\n\n## Language Bridges\n\npforge provides language bridges for building MCP servers in your preferred language:\n\n### Deno/TypeScript Bridge\n\nBuild type-safe MCP servers using TypeScript and Deno with native performance:\n\n```typescript\nimport { PforgeBridge } from \"https://raw.githubusercontent.com/paiml/pforge/main/bridges/deno/bridge.ts\";\n\nconst bridge = new PforgeBridge();\n\nbridge.register({\n  name: \"greet\",\n  description: \"Greet a user by name\",\n  handler: (input: { name: string }) =\u003e ({\n    success: true,\n    data: { message: `Hello, ${input.name}!` },\n  }),\n});\n\nconst result = await bridge.execute(\"greet\", { name: \"Alice\" });\nconsole.log(result.data);\n```\n\n**Features:**\n- Type-safe handler definitions with TypeScript generics\n- Runtime schema validation with no external dependencies\n- O(1) handler lookup performance\n- Both sync and async handler support\n- 74+ tests passing with full quality gates\n\n**Documentation:** [bridges/deno/README.md](bridges/deno/README.md)\n\n### Coming Soon\n\n- Python bridge (FFI-based with asyncio support)\n- Go bridge (CGo-based with goroutine support)\n- Node.js bridge (Native addon with N-API)\n\n## Documentation\n\n- **[Book](https://paiml.github.io/pforge)** - Complete guide with examples and comparisons\n- **[Architecture](docs/ARCHITECTURE.md)** - Technical design details\n- **[User Guide](docs/USER_GUIDE.md)** - Usage guide\n- **[Implementation Status](docs/IMPLEMENTATION_STATUS.md)** - Current project status\n- **[CLAUDE.md](CLAUDE.md)** - Development workflow for contributors\n\n## Examples\n\n- **[hello-world](examples/hello-world/)** - Minimal native handler example\n- **[calculator](examples/calculator/)** - Math operations with tests\n- **[rest-api-proxy](examples/rest-api-proxy/)** - HTTP handler examples\n\n## Project Status\n\n**Version:** 0.1.2\n\n**Published crates:**\n- `pforge-config` - Configuration parsing\n- `pforge-macro` - Procedural macros\n- `pforge-runtime` - Core runtime (depends on pmcp)\n- `pforge-codegen` - Code generation\n- `pforge-cli` - CLI tool\n\n**Test results:** 120+ tests passing (90+ unit/integration, 12 property-based, 8 quality gates, 5+ doctests)\n\nSee [IMPLEMENTATION_STATUS.md](docs/IMPLEMENTATION_STATUS.md) for detailed progress.\n\n## Development\n\n```bash\n# Run tests\ncargo test --all\n\n# Run quality gates\nmake quality-gate\n\n# Watch mode\nmake watch\n\n# Build release\nmake build-release\n```\n\nSee [CLAUDE.md](CLAUDE.md) for full development workflow.\n\n## Architecture\n\npforge is built as a framework on top of pmcp (rust-mcp-sdk):\n\n```\n┌─────────────────────────────────┐\n│   pforge (Framework Layer)      │\n│   - YAML → Rust codegen         │\n│   - Handler registry            │\n│   - State management            │\n└─────────────────────────────────┘\n              ↓\n┌─────────────────────────────────┐\n│   pmcp (Protocol SDK)           │\n│   - MCP protocol implementation │\n│   - Transport handling          │\n└─────────────────────────────────┘\n```\n\nWhen to use pmcp directly: You need fine-grained control over MCP protocol details or want to avoid code generation.\n\nWhen to use pforge: You want declarative configuration and rapid MCP server development with less code.\n\n## Contributing\n\nContributions are welcome. Please:\n\n1. Read [CLAUDE.md](CLAUDE.md) for development standards\n2. Check [ROADMAP.md](ROADMAP.md) for current priorities\n3. Ensure tests pass: `cargo test --all`\n4. Ensure quality gates pass: `make quality-gate`\n\nAll 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.\n\n## License\n\nMIT - see [LICENSE](LICENSE)\n\n## Acknowledgments\n\nBuilt on [pmcp](https://github.com/paiml/pmcp) by Pragmatic AI Labs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaiml%2Fpforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaiml%2Fpforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaiml%2Fpforge/lists"}