Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
MCP server for structured roundtable discussions to generate PRP-ready specifications PentaForge MCP Server A Model Context Protocol (MCP) server that orchestrates structured roundtable discussions among expert personas to generate PRP-ready specifications for software development. Features both traditional fixed-round discussions and AI-driven dynamic consensus evaluation. What is PentaForge? PentaForge transforms a simple programming need into a comprehensive, actionable specification through an aut Published capability contract available. No trust telemetry is available yet. 6 GitHub stars reported by the source. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
pentaforge is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
MCP server for structured roundtable discussions to generate PRP-ready specifications PentaForge MCP Server A Model Context Protocol (MCP) server that orchestrates structured roundtable discussions among expert personas to generate PRP-ready specifications for software development. Features both traditional fixed-round discussions and AI-driven dynamic consensus evaluation. What is PentaForge? PentaForge transforms a simple programming need into a comprehensive, actionable specification through an aut
Public facts
7
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. 6 GitHub stars reported by the source. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Laroccathebrux
Artifacts
0
Benchmarks
0
Last release
1.0.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. 6 GitHub stars reported by the source. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/laroccathebrux/pentaforge.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Laroccathebrux
Protocol compatibility
MCP
Auth modes
mcp, api_key, oauth
Machine-readable schemas
OpenAPI or schema references published
Adoption signal
6 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# Clone the repository git clone https://github.com/yourusername/pentaforge.git cd pentaforge # Install dependencies npm install # Build the TypeScript code npm run build # Run the server npm start # or node dist/server.js
bash
# Build the Docker image docker build -t pentaforge:latest . # Run with volume mapping for output persistence docker run -i --rm -v $(pwd)/PRPs/inputs:/app/PRPs/inputs pentaforge:latest
powershell
docker run -i --rm -v ${PWD}/PRPs/inputs:/app/PRPs/inputs pentaforge:latestbash
# AI Provider Configuration AI_PROVIDER=ollama # 'openai', 'anthropic', or 'ollama' AI_API_KEY=your_api_key # Required for OpenAI/Anthropic AI_BASE_URL=http://localhost:11434 # Custom endpoint (optional) AI_MODEL=mistral:latest # Default model name (can be overridden per call) AI_TEMPERATURE=0.7 # Response creativity (0-1) AI_MAX_TOKENS=500 # Response length limit
json
{
"prompt": "Create a REST API for user management",
"model": "deepseek-coder:latest",
"dryRun": true
}bash
# Using OpenAI docker run -i --rm \ -e AI_PROVIDER=openai \ -e AI_API_KEY=your_openai_key \ -e AI_MODEL=gpt-4o-mini \ -v $(pwd)/PRPs/inputs:/app/PRPs/inputs \ pentaforge:latest # Using Anthropic docker run -i --rm \ -e AI_PROVIDER=anthropic \ -e AI_API_KEY=your_anthropic_key \ -e AI_MODEL=claude-3-haiku-20240307 \ -v $(pwd)/PRPs/inputs:/app/PRPs/inputs \ pentaforge:latest # Using local Ollama (default) docker run -i --rm \ -e AI_PROVIDER=ollama \ -e AI_BASE_URL=http://host.docker.internal:11434 \ -v $(pwd)/PRPs/inputs:/app/PRPs/inputs \ pentaforge:latest
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server for structured roundtable discussions to generate PRP-ready specifications PentaForge MCP Server A Model Context Protocol (MCP) server that orchestrates structured roundtable discussions among expert personas to generate PRP-ready specifications for software development. Features both traditional fixed-round discussions and AI-driven dynamic consensus evaluation. What is PentaForge? PentaForge transforms a simple programming need into a comprehensive, actionable specification through an aut
A Model Context Protocol (MCP) server that orchestrates structured roundtable discussions among expert personas to generate PRP-ready specifications for software development. Features both traditional fixed-round discussions and AI-driven dynamic consensus evaluation.
PentaForge transforms a simple programming need into a comprehensive, actionable specification through an automated roundtable discussion. It simulates a complete agile team meeting where:
The result is two markdown documents ready for use with PRPs-agentic-eng:
DISCUSSION.md: Full transcript with consensus metrics (when applicable)REQUEST.md: Official demand specification with quality indicators# Clone the repository
git clone https://github.com/yourusername/pentaforge.git
cd pentaforge
# Install dependencies
npm install
# Build the TypeScript code
npm run build
# Run the server
npm start
# or
node dist/server.js
# Build the Docker image
docker build -t pentaforge:latest .
# Run with volume mapping for output persistence
docker run -i --rm -v $(pwd)/PRPs/inputs:/app/PRPs/inputs pentaforge:latest
docker run -i --rm -v ${PWD}/PRPs/inputs:/app/PRPs/inputs pentaforge:latest
PentaForge personas are powered by AI to generate dynamic, contextual responses. The system supports multiple AI providers with automatic fallback to ensure reliability.
gpt-4o-mini, gpt-4, gpt-3.5-turboclaude-3-haiku-20240307, claude-3-sonnet-20240229mistral:latest, deepseek-coder:latest, llama3.2:3b, etc.Configure AI providers using these environment variables:
# AI Provider Configuration
AI_PROVIDER=ollama # 'openai', 'anthropic', or 'ollama'
AI_API_KEY=your_api_key # Required for OpenAI/Anthropic
AI_BASE_URL=http://localhost:11434 # Custom endpoint (optional)
AI_MODEL=mistral:latest # Default model name (can be overridden per call)
AI_TEMPERATURE=0.7 # Response creativity (0-1)
AI_MAX_TOKENS=500 # Response length limit
gpt-4o-mini (fast, cost-effective)claude-3-haiku-20240307 (efficient, reliable)mistral:latest (local, privacy-focused)You can specify a different model for individual roundtable calls, useful when you have multiple Ollama models:
{
"prompt": "Create a REST API for user management",
"model": "deepseek-coder:latest",
"dryRun": true
}
This overrides the default model for that specific discussion.
Pass environment variables to Docker:
# Using OpenAI
docker run -i --rm \
-e AI_PROVIDER=openai \
-e AI_API_KEY=your_openai_key \
-e AI_MODEL=gpt-4o-mini \
-v $(pwd)/PRPs/inputs:/app/PRPs/inputs \
pentaforge:latest
# Using Anthropic
docker run -i --rm \
-e AI_PROVIDER=anthropic \
-e AI_API_KEY=your_anthropic_key \
-e AI_MODEL=claude-3-haiku-20240307 \
-v $(pwd)/PRPs/inputs:/app/PRPs/inputs \
pentaforge:latest
# Using local Ollama (default)
docker run -i --rm \
-e AI_PROVIDER=ollama \
-e AI_BASE_URL=http://host.docker.internal:11434 \
-v $(pwd)/PRPs/inputs:/app/PRPs/inputs \
pentaforge:latest
When AI providers are unavailable or fail:
This ensures PentaForge is always reliable, whether you have AI configured or not.
To use local AI models with Ollama:
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Download models
ollama pull mistral:latest # General purpose model (~4GB)
ollama pull deepseek-coder:latest # Code-focused model (~1GB)
# Verify it's running
ollama list
# PentaForge will connect automatically
Register PentaForge with Claude Code to use it as an MCP tool:
claude mcp add pentaforge -- docker run -i --rm -v ${PWD}/PRPs/inputs:/app/PRPs/inputs pentaforge:latest
claude mcp add pentaforge -- docker run -i --rm -v ${PWD}/PRPs/inputs:/app/PRPs/inputs pentaforge:latest
claude mcp add pentaforge -- node /path/to/pentaforge/dist/server.js
Once registered with Claude Code, you can use PentaForge by having a natural conversation. Claude Code will automatically call the run_roundtable tool when appropriate.
Describe your development need and explicitly request the MCP tool:
You: "My TodoApp does not persist the data. As a user, I need to persist the data using LocalStorage so that my todos don't disappear when I refresh the page.
Please use the PentaForge MCP server to run a roundtable discussion and generate a comprehensive specification for this requirement. You MUST provide any .md files from my project (especially CLAUDE.md and any docs/ files) as context to the MCP server using the claudeMd and docsContext parameters."
Claude Code: I'll help you create a comprehensive specification for adding LocalStorage persistence to your TodoApp. Let me use the PentaForge MCP server to organize a roundtable discussion with expert personas.
[Claude Code calls the run_roundtable tool from PentaForge MCP server]
Claude Code: The expert roundtable has completed their discussion! Here's what they recommend:
[Shows the generated DISCUSSION.md and REQUEST.md with detailed specifications, technical recommendations, and implementation guidance for LocalStorage persistence]
If Claude Code doesn't automatically call the tool, be more explicit:
You: "I need you to use the run_roundtable tool from the PentaForge MCP server to analyze this requirement:
My TodoApp does not persist the data. As a user, I need to persist the data using LocalStorage so that my todos don't disappear when I refresh the page.
Please call the run_roundtable tool with this prompt and show me the results. You MUST include any .md files from my project as context - read my CLAUDE.md file and any docs/ files, then provide them using the claudeMd and docsContext parameters."
For the best results, always explicitly request that Claude Code provide your project files as context:
Without project context, the MCP will use generic recommendations. With context, you get project-specific, relevant specifications!
If you need to call the tool manually with specific parameters:
{
"prompt": "My TodoApp does not persist the data. As a user, I need to persist the data using LocalStorage.",
"outputDir": "./PRPs/inputs",
"language": "en",
"dryRun": true
}
{
"prompt": "My TodoApp does not persist the data. As a user, I need to persist the data using LocalStorage.",
"claudeMd": "# My TodoApp\n\nThis is a React application for managing personal tasks.\n\n## Current Architecture\n- Frontend: React 18 with TypeScript\n- State Management: useState hooks\n- Storage: Currently in-memory only (loses data on refresh)\n- Styling: Tailwind CSS",
"docsContext": [
{
"path": "docs/components.md",
"content": "# Components\n\n## TodoList\nMain component that renders all todos\n- Props: todos[], onToggle(), onDelete()\n- State: Managed by parent App component"
},
{
"path": "docs/data-structure.md",
"content": "# Data Structure\n\n## Todo Object\n```typescript\ninterface Todo {\n id: string;\n text: string;\n completed: boolean;\n createdAt: Date;\n}\n```"
}
],
"dryRun": true
}
./PRPs/inputs)mistral:latest, deepseek-coder:latest)PentaForge now supports AI-driven dynamic discussions that adapt based on topic complexity and team agreement levels, going beyond the traditional fixed 3-round approach.
Fixed Rounds (Default):
Dynamic Rounds (Opt-in):
โ Ideal for:
โธ๏ธ Stick with Fixed Rounds for:
{
"prompt": "Design a distributed authentication system with OAuth2, JWT, and RBAC",
"dynamicRounds": true,
"consensusConfig": {
"minRounds": 2, // Minimum discussion rounds (default: 2)
"maxRounds": 8, // Maximum to prevent infinite loops (default: 10)
"consensusThreshold": 90, // Required agreement % to terminate (default: 85)
"conflictTolerance": 10, // Max unresolved issues allowed (default: 15)
"moderatorEnabled": true // Include AI Moderator guidance (default: true)
},
"dryRun": true
}
With dynamic rounds enabled, you get additional insights:
DISCUSSION.md includes:
REQUEST.md includes:
The dynamic system is optimized for efficiency:
PentaForge now supports non-blocking execution that allows you to continue working while discussions run in the background.
Synchronous (Default):
Asynchronous (Opt-in):
Async Execution for Long Discussions:
{
"prompt": "Design a comprehensive microservices architecture with authentication, logging, monitoring, and deployment pipeline",
"dynamicRounds": true,
"async": true,
"consensusConfig": {
"maxRounds": 8,
"consensusThreshold": 90
}
}
Response (Immediate):
{
"summary": "Roundtable discussion started in background (ID: roundtable_2024-01-15T143022Z_a3x9k2m7q). Processing \"Design a comprehensive microservices...\"",
"timestamp": "2024-01-15T143022Z",
"outputDir": "/path/to/PRPs/inputs",
"isAsync": true,
"executionId": "roundtable_2024-01-15T143022Z_a3x9k2m7q",
"status": "started"
}
Background Updates:
๐ Roundtable Discussion Completed (ID: roundtable_2024-01-15T143022Z_a3x9k2m7q)
๐ Files saved to: /path/to/PRPs/inputs
- DISCUSSION_2024-01-15T143022Z.md
- REQUEST_2024-01-15T143022Z.md
โ Ideal for:
โธ๏ธ Use Sync Mode for:
When dynamic discussions fail to reach consensus due to unresolved issues, PentaForge automatically transitions to an Interactive Resolution Workflow that lets you manually resolve contested points before generating the final specification.
Phase 1: Consensus Failure Detection
Phase 2: User Resolution
Phase 3: Final Specification Generation
unresolvedIssuesFile parameter pointing to your resolved file1. Initial Discussion with Consensus Failure
{
"prompt": "Design authentication system with OAuth2, JWT, and complex RBAC requirements",
"dynamicRounds": true,
"consensusConfig": {
"consensusThreshold": 90
}
}
Result: Discussion reaches 85% agreement but has 2 unresolved issues
Round 3: 85% agreement, 2 unresolved issues โ Generates UNRESOLVED_ISSUES_2024-01-15T143022Z.md
2. Generated UNRESOLVED_ISSUES.md Structure
---
discussionId: "2024-01-15T143022Z-a3x9k2"
timestamp: "2024-01-15T143022Z"
consensusThreshold: 90
totalIssues: 2
status: "pending"
language: "en"
---
# Unresolved Issues - Interactive Resolution
## Issue 1: JWT Token Expiration Strategy
**Context:** Team disagreed on token lifetime and refresh mechanism approach.
### Expert Positions:
#### SolutionsArchitect
**Position:** Use short-lived access tokens (15 minutes) with refresh tokens
**Reasoning:** Balances security with user experience, industry standard approach
#### BusinessStakeholder
**Position:** Use longer-lived tokens (24 hours) with sliding expiration
**Reasoning:** Reduces server load and improves user experience for trusted environments
### Your Resolution:
- [ ] Accept SolutionsArchitect's approach
- [ ] Accept BusinessStakeholder's approach
- [ ] No strong preference - team decides
- [x] Custom resolution (describe below)
**Custom Resolution:**
Use 1-hour access tokens with 7-day refresh tokens. Implement automatic refresh in frontend. Provide admin toggle for environment-specific token lifetimes.
## Issue 2: Role Hierarchy Implementation
[Similar structure for second issue...]
3. Process Resolved Issues
{
"prompt": "Design authentication system with OAuth2, JWT, and complex RBAC requirements",
"unresolvedIssuesFile": "./PRPs/inputs/UNRESOLVED_ISSUES_2024-01-15T143022Z.md"
}
Result: Generates final REQUEST.md incorporating your resolved decisions
โ Triggers Interactive Resolution:
finalConsensus.unresolvedIssues.length >= unresolvedIssuesThreshold (default: 1)โ Continues Normal Flow:
Bilingual Support
Security & Validation
File Format Validation
Accept Persona Position: Choose existing expert recommendation
No Strong Preference: Let implementation team decide
Custom Resolution: Provide your own solution with detailed description
# Common validation errors and solutions:
โ Multiple selections for single issue
๐ก Mark exactly one checkbox per issue
โ Missing custom resolution description
๐ก Provide detailed description when selecting custom option
โ Unresolved issues remaining
๐ก Every issue must have exactly one selection
โ Invalid file format
๐ก Don't modify YAML front matter or markdown structure
Customize Resolution Threshold
{
"prompt": "Complex system design...",
"dynamicRounds": true,
"unresolvedIssuesThreshold": 3, // Only trigger if โฅ3 unresolved issues
"consensusConfig": {
"consensusThreshold": 85
}
}
Benefits of Interactive Resolution
PentaForge can use your project's existing documentation to generate more relevant and specific recommendations. When project context is provided, all AI personas will:
CLAUDE.md: Project overview, architecture, guidelines, and conventions docs/ directory: API documentation, database schemas, deployment guides, etc.
Note: Claude Code does not yet automatically read project files when calling MCP tools. To provide project context, you currently need to:
Manual Context (Workaround): Include your project information directly in the conversation:
You: "Here's my project context:
My CLAUDE.md says this is a React app with TypeScript...
My docs/api.md shows these endpoints: GET /api/todos, POST /api/todos...
Now, my TodoApp does not persist data. As a user, I need LocalStorage persistence."
Wait for Updates: Future versions of Claude Code may automatically read and provide project files to MCP tools.
The MCP server is ready to receive project context - it's just waiting for Claude Code to provide it!
# Roundtable Discussion
**Timestamp:** 2024-01-15T143022Z
**Input Prompt:** In my Todo app, items are lost on refresh...
## Participants
| Name | Role | Objectives |
|------|------|------------|
| Alex Chen | Key User | Describe pain points; Define acceptance criteria |
| Sarah Mitchell | Business Analyst | Analyze requirements; Identify constraints |
...
## Discussion Transcript
### Round 1
**Sarah Mitchell** (Business Analyst):
> Analyzing the requirement: "In my Todo app, items are lost..."...
### Round 2
...
## Decisions & Rationale
1. Use IndexedDB with Dexie.js for local persistence
2. Implement auto-save every 2 seconds
...
# Demand Specification
## Problem Statement
In my Todo app, items are lost on refresh. I need data persistence...
## Current vs Desired Behavior
...
## Functional Requirements
1. System shall auto-save data every 2 seconds after changes
2. System shall use IndexedDB for local storage
...
## PRP-Ready Artifacts
### Suggested PRP Commands
/prp-base-create PRPs/REQUEST_2024-01-15T143022Z.md
/prp-create-planning PRPs/<base-file>
/prp-create-tasks PRPs/<planning-file>
/prp-execute-tasks PRPs/<tasks-file>
After generating the specification with PentaForge:
Create base PRP document:
/prp-base-create PRPs/REQUEST_<timestamp>.md
Generate planning document:
/prp-create-planning PRPs/<base-file-from-step-1>
Create task breakdown:
/prp-create-tasks PRPs/<planning-file-from-step-2>
Execute implementation:
/prp-execute-tasks PRPs/<tasks-file-from-step-3>
TZ: Timezone (default: UTC)LANG: Language locale (default: en_US.UTF-8)LOG_LEVEL: Logging level - DEBUG, INFO, WARN, ERROR (default: INFO)PENTAFORGE_OUTPUT_DIR: Override output directory (default: /app/PRPs/inputs)The Docker container runs as a non-root user (UID 1001). If you encounter permission issues:
# Run with host user ID
docker run -i --rm --user $(id -u):$(id -g) \
-v $(pwd)/PRPs/inputs:/app/PRPs/inputs \
pentaforge:latest
Permissions are typically handled automatically.
Use the provided docker-compose.yml for easier management:
# Build and run
docker-compose up
# Run in background
docker-compose up -d
# Stop
docker-compose down
npm run build - Compile TypeScriptnpm start - Run the servernpm run dev - Run with ts-node (development)npm test - Run unit testsnpm run lint - Run ESLintnpm run docker:build - Build Docker imagenpm run docker:run - Run Docker container# Run all tests
npm test
# Run with coverage
npm test -- --coverage
# Run specific test file
npm test personas.test.ts
pentaforge/
โโโ src/
โ โโโ server.ts # MCP server entry point
โ โโโ tools/
โ โ โโโ roundtable.ts # Main tool implementation (๐ง enhanced with resolution processing)
โ โโโ personas/ # Expert persona classes
โ โ โโโ base.ts # Base persona interface
โ โ โโโ aiPersona.ts # AI-powered persona base class
โ โ โโโ KeyUser.ts
โ โ โโโ BusinessAnalyst.ts
โ โ โโโ ProductOwner.ts
โ โ โโโ ScrumMaster.ts
โ โ โโโ SolutionsArchitect.ts
โ โ โโโ UXUIDesigner.ts # ๐ UX/UI design expertise
โ โ โโโ SupportRepresentative.ts # ๐ Customer success perspective
โ โ โโโ BusinessStakeholder.ts # ๐ Market and ROI focus
โ โ โโโ AIModerator.ts # ๐ AI consensus moderator
โ โโโ engine/
โ โ โโโ discussion.ts # Orchestration logic (๐ง enhanced with resolution routing)
โ โ โโโ consensusEvaluator.ts # ๐ AI consensus analysis + persona position extraction
โ โ โโโ dynamicRoundStrategy.ts # ๐ Adaptive round generation
โ โโโ types/
โ โ โโโ consensus.ts # ๐ Consensus type definitions
โ โ โโโ unresolvedIssues.ts # ๐ Interactive resolution workflow types
โ โ โโโ markdown-it-task-checkbox.d.ts # ๐ TypeScript definitions
โ โโโ writers/ # Markdown generators
โ โ โโโ discussionWriter.ts
โ โ โโโ requestWriter.ts # ๐ง Enhanced with pre-resolved consensus support
โ โ โโโ unresolvedIssuesWriter.ts # ๐ Interactive UNRESOLVED_ISSUES.md generator
โ โโโ lib/ # Utilities
โ โ โโโ aiService.ts # Multi-provider AI integration
โ โ โโโ unresolvedIssuesParser.ts # ๐ Parse and validate user-resolved files
โ โ โโโ clock.ts
โ โ โโโ id.ts
โ โ โโโ i18n.ts
โ โ โโโ fs.ts
โ โ โโโ log.ts
โโโ tests/ # Unit tests
โ โโโ personas.test.ts # Persona response testing
โ โโโ roundtable.test.ts # End-to-end workflow testing
โ โโโ unresolvedIssues.test.ts # ๐ Interactive resolution workflow testing (26 tests)
โโโ Dockerfile # Container definition
โโโ docker-compose.yml # Compose configuration
โโโ CLAUDE.md # ๐ Updated with dynamic features
โโโ PERFORMANCE_ANALYSIS.md # ๐ Token usage validation report
โโโ package.json # Node.js configuration
Solution: Ensure the output directory exists and has write permissions. On Linux, use --user $(id -u):$(id -g) flag.
Solution: Run npm install and npm run build before starting the server.
Solution: Ensure Docker Desktop is running and you have Node.js 20+ specified in package.json.
Solution: Restart Claude Code after registration. Check logs with claude mcp list.
Solution: Check your AI configuration:
AI_PROVIDER is set correctly (openai, anthropic, or ollama)AI_API_KEY is valid for OpenAI/Anthropiccurl http://localhost:11434/api/tagsLOG_LEVEL=DEBUG npm startSolution:
curl -fsSL https://ollama.ai/install.sh | shollama pull mistral:latest and/or ollama pull deepseek-coder:latestollama listollama serve (if not auto-started)model parameter or set AI_MODEL environment variableSolution:
gpt-4o-mini, claude-3-haiku-20240307)MIT License - See LICENSE file for details.
Contributions are welcome! Please:
For issues, questions, or suggestions:
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key, oauth
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key",
"oauth"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/laroccathebrux/pentaforge#input",
"outputSchemaRef": "https://github.com/laroccathebrux/pentaforge#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:42.369Z",
"sourceUpdatedAt": "2026-02-24T19:46:42.369Z",
"freshnessSeconds": 4440578
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T05:16:20.536Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "server",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "roundtable",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "prp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "agile",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "specification",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:mcp|supported|profile capability:server|supported|profile capability:roundtable|supported|profile capability:prp|supported|profile capability:agile|supported|profile capability:specification|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:42.369Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key, oauth",
"href": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:42.369Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/laroccathebrux/pentaforge#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:42.369Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Laroccathebrux",
"href": "https://github.com/laroccathebrux/pentaforge",
"sourceUrl": "https://github.com/laroccathebrux/pentaforge",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "6 GitHub stars",
"href": "https://github.com/laroccathebrux/pentaforge",
"sourceUrl": "https://github.com/laroccathebrux/pentaforge",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-laroccathebrux-pentaforge/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to pentaforge and adjacent AI workflows.