23f7624596
ADR-166 MCP Bridge Security Lock / Static-source security lock (push) Failing after 0s
ADR-166 MCP Bridge Security Lock / Compose default binds loopback + Mongo has auth (push) Failing after 2s
CodeQL Advanced / Analyze (rust) (push) Failing after 0s
ADR-166 MCP Bridge Security Lock / plugin-agent-federation bindHost default (push) Failing after 1s
ADR-166 MCP Bridge Security Lock / Runtime behavior — 401 + terminal gate + fail-closed (push) Failing after 4s
business-pods-smoke / smoke (push) Failing after 1s
all-plugins-smoke / smoke-all (push) Failing after 2s
CI/CD Pipeline / Security & Code Quality (push) Failing after 1s
CI/CD Pipeline / Test Suite (ubuntu-latest) (push) Failing after 1s
CI/CD Pipeline / Build & Package (macos-latest) (push) Has been skipped
CI/CD Pipeline / Build & Package (ubuntu-latest) (push) Has been skipped
CI/CD Pipeline / Build & Package (windows-latest) (push) Has been skipped
CI/CD Pipeline / Documentation & Examples (push) Failing after 1s
Clone Tracker (14-day rolling) / Snapshot clones for ruflo ecosystem (push) Failing after 1s
CodeQL Advanced / Analyze (actions) (push) Failing after 1s
CodeQL Advanced / Analyze (javascript-typescript) (push) Failing after 1s
federation-peer-rust / stable-noop (push) Failing after 1s
metaharness-ci / score (push) Failing after 1s
metaharness-ci / router-compat (push) Failing after 0s
metaharness-ci / similarity-tests (push) Failing after 0s
no-agentbbs-smoke / smoke-without-agentbbs (push) Failing after 1s
V3 CI/CD Pipeline / Build V3 (windows-latest) (push) Has been skipped
codex-integration-audit / Codex integration audit (push) Failing after 1s
helpers-manifest-guard / guard (push) Failing after 1s
🔗 Cross-Agent Integration Tests / 🤝 Agent Coordination Tests (push) Has been skipped
🔗 Cross-Agent Integration Tests / 🧠 Memory Sharing Integration (push) Has been skipped
🔗 Cross-Agent Integration Tests / 🛡️ Fault Tolerance Tests (push) Has been skipped
🔗 Cross-Agent Integration Tests / ⚡ Performance Integration Tests (push) Has been skipped
metaharness-ci / mcp-scan (push) Failing after 1s
metaharness-ci / eject-dryrun (push) Failing after 1s
metaharness-ci / metaharness-real-data (push) Failing after 0s
no-cli-optdep-bloat-2561 / guard (push) Failing after 1s
no-metaharness-smoke / smoke-without-metaharness (push) Failing after 1s
no-phantom-agentic-flow-subpath / guard (push) Failing after 1s
🔄 Automated Rollback Manager / 🚨 Failure Detection (push) Failing after 1s
V3 CI/CD Pipeline / Plugin hooks smoke / ubuntu-latest / Node 22 (push) Failing after 1s
V3 CI/CD Pipeline / ruflo-graph-intelligence build + test smoke (#2044, ADR-123) (push) Failing after 1s
CVE Audit Gate / Audit root (critical-blocking) (push) Failing after 2s
cost-tracker-smoke / smoke (push) Failing after 3s
oia-audit-weekly / audit (push) Failing after 2s
ruflo-agent-smoke / ruflo-agent structural smoke (push) Failing after 1s
📊 Status Badges Update / 📊 Update Status Badges (push) Failing after 1s
V3 CI/CD Pipeline / Static regression guards (#2267 YAML + (push) Failing after 1s
V3 CI/CD Pipeline / Test V3 Packages (push) Failing after 0s
V3 CI/CD Pipeline / agent_execute provider routing smoke (#2042) (push) Failing after 0s
CVE Audit Gate / Audit v3 (critical-blocking) (push) Failing after 1s
federation-peer-rust / stable-native (push) Failing after 2s
🔗 Cross-Agent Integration Tests / 🚀 Integration Test Setup (push) Failing after 2s
neural-trader-smoke / runtime-smoke (push) Failing after 1s
V3 CI/CD Pipeline / Build V3 (macos-latest) (push) Has been skipped
V3 CI/CD Pipeline / Build V3 (ubuntu-latest) (push) Has been skipped
V3 CI/CD Pipeline / Type Check V3 (push) Failing after 1s
V3 CI/CD Pipeline / Smoke (no better-sqlite3) / ubuntu-latest / Node 24 (push) Failing after 1s
V3 CI/CD Pipeline / Smoke (no better-sqlite3) / ubuntu-latest / Node 22 (push) Failing after 2s
V3 CI/CD Pipeline / browser rvf create flag smoke (#2015) (push) Failing after 0s
V3 CI/CD Pipeline / Dependency review (#2046) (push) Has been skipped
V3 CI/CD Pipeline / Supply-chain audit (#2046) (push) Failing after 0s
V3 CI/CD Pipeline / witness marker drift smoke (#2021) (push) Failing after 1s
V3 CI/CD Pipeline / neural-trader portfolio CG smoke (#2068, ADR-126 Phase 3) (push) Failing after 1s
V3 CI/CD Pipeline / neural-trader backtest signing smoke (#2068, ADR-126 Phase 4) (push) Failing after 1s
V3 CI/CD Pipeline / kg-extract type-import classification smoke (#2049) (push) Failing after 0s
V3 CI/CD Pipeline / witness verify precondition smoke (#1880) (push) Failing after 2s
V3 CI/CD Pipeline / neural-trader pipeline risk-gate smoke (#2068, ADR-126 Phase 5) (push) Failing after 0s
V3 CI/CD Pipeline / neural-trader feature attribution smoke (#2068, ADR-126 Phase 6) (push) Failing after 0s
V3 CI/CD Pipeline / plugin-registry signature verification smoke (#1922, CWE-347) (push) Failing after 4s
V3 CI/CD Pipeline / memory stats legacy-DB smoke (#2120) (push) Failing after 4s
V3 CI/CD Pipeline / github deprecated actions smoke (#2089, ADR-127 Phase 3) (push) Failing after 1s
V3 CI/CD Pipeline / graph query + pathfinder smoke (ADR-130 P2+P5) (push) Has been skipped
V3 CI/CD Pipeline / graph trajectory hooks smoke (ADR-130 P3) (push) Has been skipped
V3 CI/CD Pipeline / graph plugin adapter smoke (ADR-130 P4) (push) Has been skipped
V3 CI/CD Pipeline / graph benchmark (ADR-130 P6) (push) Has been skipped
V3 CI/CD Pipeline / statusline generator delegation smoke (#2195) (push) Failing after 1s
V3 CI/CD Pipeline / wizard init regression guard (#2206 (push) Failing after 1s
V3 CI/CD Pipeline / memory no-stray-db smoke (ADR-125 P7) (push) Failing after 1s
V3 CI/CD Pipeline / github-safe injection smoke (#2089, ADR-127 Phase 1) (push) Failing after 1s
V3 CI/CD Pipeline / github actions pin smoke (#2089, ADR-127 Phase 1) (push) Failing after 1s
V3 CI/CD Pipeline / github attribution opt-in smoke (#2089, ADR-127 Phase 4) (push) Failing after 1s
V3 CI/CD Pipeline / pre-bash hook safety smoke (#2017) (push) Failing after 1s
V3 CI/CD Pipeline / Memory import smoke / ubuntu-latest (push) Failing after 0s
V3 CI/CD Pipeline / MCP protocol smoke / ubuntu-latest (push) Failing after 2s
V3 CI/CD Pipeline / ruvllm WASM auto-init smoke (#2086) (push) Failing after 4s
V3 CI/CD Pipeline / MCP paired-tool round-trip smoke (#1889) (push) Failing after 1s
V3 CI/CD Pipeline / Plugin package install-safety (#1902/#1903/#1904) (push) Failing after 1s
V3 CI/CD Pipeline / Tool description discoverability (ADR-112) (push) Failing after 3s
V3 CI/CD Pipeline / CLI npx-install smoke (#1147 / (22) (push) Failing after 1s
V3 CI/CD Pipeline / CLI npx-install smoke (#1147 / (24) (push) Failing after 1s
V3 CI/CD Pipeline / Windows hook shim smoke (#2132) / ubuntu-latest (push) Failing after 2s
V3 CI/CD Pipeline / Windows hook execution smoke (#2132) / ubuntu-latest (push) Failing after 1s
V3 CI/CD Pipeline / Windows init hooks smoke (#2132) / ubuntu-latest (push) Failing after 1s
V3 CI/CD Pipeline / Vector-index dimension audit (#1947) (push) Failing after 0s
V3 CI/CD Pipeline / Hook-command install safety (#1921) (push) Failing after 1s
V3 CI/CD Pipeline / ToolOutputGuardrail smoke (ADR-131, (push) Failing after 1s
V3 CI/CD Pipeline / init-bundle invariants smoke (#2095, ADR-128 Phase 5) (push) Failing after 1s
V3 CI/CD Pipeline / wasm provider bridge smoke (ADR-129 P1) (push) Failing after 2s
V3 CI/CD Pipeline / wasm gallery CRUD smoke (ADR-129 P3) (push) Failing after 1s
V3 CI/CD Pipeline / wasm plugin bridge smoke (ADR-129 P4) (push) Failing after 0s
V3 CI/CD Pipeline / wasm compose smoke (ADR-129 P2) (push) Failing after 4s
V3 CI/CD Pipeline / graph schema smoke (ADR-130 P1) (push) Failing after 0s
Validate Marketplace / validate (push) Failing after 1s
🔍 Verification Pipeline / 🚀 Setup Verification (push) Failing after 1s
🔍 Verification Pipeline / 🛡️ Security Verification (push) Has been skipped
🔍 Verification Pipeline / 📝 Code Quality (push) Has been skipped
🔍 Verification Pipeline / 🧪 Test Verification (${{ matrix.os }}, Node ${{ matrix.node }}) (push) Has been skipped
🔍 Verification Pipeline / 🏗️ Build Verification (push) Has been skipped
🔍 Verification Pipeline / 📚 Documentation Verification (push) Has been skipped
CVE Audit Gate / High-severity report (warn only) (push) Has been cancelled
🔄 Automated Rollback Manager / 🔄 Execute Rollback (push) Has been cancelled
🔄 Automated Rollback Manager / ✅ Post-Rollback Verification (push) Has been cancelled
🔄 Automated Rollback Manager / 📊 Rollback Monitoring (push) Has been cancelled
V3 CI/CD Pipeline / Windows init hooks smoke (#2132) / windows-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook execution smoke (#2132) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook execution smoke (#2132) / windows-latest (push) Has been cancelled
🔄 Automated Rollback Manager / ⏳ Manual Rollback Approval (push) Has been cancelled
V3 CI/CD Pipeline / MCP protocol smoke / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Memory import smoke / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook shim smoke (#2132) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook shim smoke (#2132) / windows-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows init hooks smoke (#2132) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Witness verify (signed manifest) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Witness verify (signed manifest) / ubuntu-latest (push) Has been cancelled
V3 CI/CD Pipeline / Witness verify (signed manifest) / windows-latest (push) Has been cancelled
V3 CI/CD Pipeline / Publish to npm (alpha) (push) Has been cancelled
V3 CI/CD Pipeline / Smoke (no better-sqlite3) / macos-latest / Node 22 (push) Has been cancelled
V3 CI/CD Pipeline / Plugin hooks smoke / macos-latest / Node 22 (push) Has been cancelled
CI/CD Pipeline / Deploy & Release (push) Has been cancelled
CI/CD Pipeline / CI Status (push) Has been cancelled
🔗 Cross-Agent Integration Tests / 📊 Integration Test Report (push) Has been cancelled
🔄 Automated Rollback Manager / 🔍 Pre-Rollback Validation (push) Has been cancelled
🔍 Verification Pipeline / ⚡ Performance Verification (push) Has been cancelled
🔍 Verification Pipeline / 📊 Verification Report (push) Has been cancelled
@claude-flow/mcp
MCP 2025-11-25 Compliant - Standalone Model Context Protocol server implementation with full Resources, Prompts, and Tasks support
Features
- MCP 2025-11-25 Compliant - Full specification support
- High-Performance Server - <400ms startup time
- Multiple Transports - stdio, HTTP, WebSocket, in-process
- Resources - list, read, subscribe with caching
- Prompts - templates with arguments and embedded resources
- Tasks - Async operations with progress and cancellation
- Pagination - Cursor-based pagination for large datasets
- Connection Pooling - Max 10 connections, configurable
- Fast Tool Registry - O(1) lookup, <10ms registration
- Session Management - Timeout handling, authentication
- Security - CORS, Helmet, auth tokens
- Zero Dependencies - No @claude-flow/* dependencies
Installation
npm install @claude-flow/mcp
Quick Start
import { quickStart, defineTool } from '@claude-flow/mcp';
// Create and start server
const server = await quickStart({
transport: 'stdio',
name: 'My MCP Server',
});
// Register custom tools
server.registerTool(defineTool(
'greet',
'Greet a user',
{
type: 'object',
properties: {
name: { type: 'string', description: 'User name' }
},
required: ['name']
},
async ({ name }) => ({ message: `Hello, ${name}!` })
));
// Start listening
await server.start();
Transports
Stdio (Default)
import { createMCPServer } from '@claude-flow/mcp';
const server = createMCPServer({
transport: 'stdio',
name: 'Stdio Server',
}, logger);
await server.start();
HTTP
const server = createMCPServer({
transport: 'http',
host: 'localhost',
port: 3000,
corsEnabled: true,
corsOrigins: ['http://localhost:8080'],
auth: {
enabled: true,
method: 'token',
tokens: ['secret-token'],
},
}, logger);
await server.start();
// Server at http://localhost:3000
// WebSocket at ws://localhost:3000/ws
WebSocket
const server = createMCPServer({
transport: 'websocket',
host: 'localhost',
port: 3001,
maxConnections: 100,
heartbeatInterval: 30000,
}, logger);
await server.start();
// WebSocket at ws://localhost:3001/ws
Tool Registry
import { createToolRegistry, defineTool } from '@claude-flow/mcp';
const registry = createToolRegistry(logger);
// Register tool
registry.register({
name: 'calculate',
description: 'Perform calculations',
inputSchema: {
type: 'object',
properties: {
expression: { type: 'string' }
}
},
handler: async ({ expression }) => {
return { result: eval(expression) };
},
category: 'math',
tags: ['calculator'],
});
// Execute tool
const result = await registry.execute('calculate', { expression: '2 + 2' });
// Search tools
const mathTools = registry.getByCategory('math');
const stats = registry.getStats();
Session Management
import { createSessionManager } from '@claude-flow/mcp';
const sessions = createSessionManager(logger, {
maxSessions: 100,
sessionTimeout: 30 * 60 * 1000, // 30 minutes
});
// Create session
const session = sessions.createSession('http');
// Initialize with client info
sessions.initializeSession(session.id, {
protocolVersion: '2024-11-05', // MCP spec: YYYY-MM-DD string
capabilities: { tools: { listChanged: true } },
clientInfo: { name: 'Claude', version: '1.0' },
});
// Get metrics
const metrics = sessions.getSessionMetrics();
// { total: 1, active: 1, authenticated: 0, expired: 0 }
Connection Pool
import { createConnectionPool } from '@claude-flow/mcp';
const pool = createConnectionPool({
maxConnections: 10,
minConnections: 2,
idleTimeout: 30000,
acquireTimeout: 5000,
}, logger, 'http');
// Acquire connection
const conn = await pool.acquire();
// Use connection...
// Release back to pool
pool.release(conn);
// Get stats
const stats = pool.getStats();
// { totalConnections: 5, idleConnections: 4, busyConnections: 1, ... }
API Reference
Server
interface IMCPServer {
start(): Promise<void>;
stop(): Promise<void>;
registerTool(tool: MCPTool): boolean;
registerTools(tools: MCPTool[]): { registered: number; failed: string[] };
getHealthStatus(): Promise<{ healthy: boolean; error?: string; metrics?: Record<string, number> }>;
getMetrics(): MCPServerMetrics;
getSessions(): MCPSession[];
getSession(sessionId: string): MCPSession | undefined;
terminateSession(sessionId: string): boolean;
}
Tool
interface MCPTool<TInput = unknown, TOutput = unknown> {
name: string;
description: string;
inputSchema: JSONSchema;
handler: (input: TInput, context?: ToolContext) => Promise<TOutput>;
category?: string;
tags?: string[];
cacheable?: boolean;
cacheTTL?: number;
timeout?: number;
}
Transport
interface ITransport {
readonly type: TransportType;
start(): Promise<void>;
stop(): Promise<void>;
onRequest(handler: RequestHandler): void;
onNotification(handler: NotificationHandler): void;
sendNotification?(notification: MCPNotification): Promise<void>;
getHealthStatus(): Promise<TransportHealthStatus>;
}
Built-in Tools
The server automatically registers these system tools:
| Tool | Description |
|---|---|
system/info |
Get server information |
system/health |
Get health status |
system/metrics |
Get server metrics |
tools/list-detailed |
List all tools with details |
Resources (MCP 2025-11-25)
import { createMCPServer, createTextResource } from '@claude-flow/mcp';
const server = createMCPServer({ transport: 'stdio' }, logger);
const resourceRegistry = server.getResourceRegistry();
// Register a text resource
const { resource, handler } = createTextResource(
'file://readme.txt',
'README',
'Welcome to the application!',
{ mimeType: 'text/plain' }
);
resourceRegistry.registerResource(resource, handler);
// Register with custom handler
resourceRegistry.registerResource(
{
uri: 'db://users/{id}',
name: 'User Data',
description: 'Get user by ID',
mimeType: 'application/json',
},
async (uri) => {
const id = uri.split('/').pop();
const user = await fetchUser(id);
return [{ uri, mimeType: 'application/json', text: JSON.stringify(user) }];
}
);
// Subscribe to updates
resourceRegistry.subscribe('file://readme.txt', (uri, content) => {
console.log('Resource updated:', uri);
});
Prompts (MCP 2025-11-25)
import { createMCPServer, definePrompt, textMessage, interpolate } from '@claude-flow/mcp';
const server = createMCPServer({ transport: 'stdio' }, logger);
const promptRegistry = server.getPromptRegistry();
// Define a prompt with arguments
const codeReviewPrompt = definePrompt(
'code_review',
'Review code for quality and best practices',
async (args) => [
textMessage('user', `Please review this ${args.language} code:\n\n${args.code}`),
],
{
title: 'Code Review',
arguments: [
{ name: 'code', description: 'The code to review', required: true },
{ name: 'language', description: 'Programming language', required: false },
],
}
);
promptRegistry.register(codeReviewPrompt);
// Get prompt with arguments
const result = await promptRegistry.get('code_review', {
code: 'function hello() { return "world"; }',
language: 'JavaScript',
});
Tasks (MCP 2025-11-25)
import { createMCPServer } from '@claude-flow/mcp';
const server = createMCPServer({ transport: 'stdio' }, logger);
const taskManager = server.getTaskManager();
// Create a long-running task
const taskId = taskManager.createTask(async (reportProgress, signal) => {
for (let i = 0; i <= 100; i += 10) {
if (signal.aborted) throw new Error('Task cancelled');
reportProgress({
progress: i,
total: 100,
message: `Processing... ${i}%`,
});
await new Promise(r => setTimeout(r, 100));
}
return { success: true, processedItems: 100 };
});
// Get task status
const status = taskManager.getTask(taskId);
// Wait for completion
const result = await taskManager.waitForTask(taskId);
// Cancel a task
taskManager.cancelTask(taskId, 'User requested cancellation');
MCP Methods Supported
| Method | Description |
|---|---|
initialize |
Initialize connection |
tools/list |
List available tools |
tools/call |
Execute a tool |
resources/list |
List resources with pagination |
resources/read |
Read resource content |
resources/subscribe |
Subscribe to updates |
resources/unsubscribe |
Unsubscribe from updates |
prompts/list |
List prompts with pagination |
prompts/get |
Get prompt with arguments |
tasks/status |
Get task status |
tasks/cancel |
Cancel a running task |
completion/complete |
Auto-complete arguments |
logging/setLevel |
Set log level |
ping |
Keep-alive |
Performance Targets
| Metric | Target |
|---|---|
| Server startup | <400ms |
| Tool registration | <10ms |
| Tool execution overhead | <50ms |
| Connection acquire | <5ms |
| Connection release | <1ms |
Security
Authentication
const server = createMCPServer({
auth: {
enabled: true,
method: 'token',
tokens: ['your-secret-token'],
},
}, logger);
CORS
const server = createMCPServer({
transport: 'http',
corsEnabled: true,
corsOrigins: ['https://your-domain.com'],
}, logger);
Error Codes
const ErrorCodes = {
PARSE_ERROR: -32700,
INVALID_REQUEST: -32600,
METHOD_NOT_FOUND: -32601,
INVALID_PARAMS: -32602,
INTERNAL_ERROR: -32603,
SERVER_NOT_INITIALIZED: -32002,
AUTHENTICATION_REQUIRED: -32001,
};
License
MIT