=== NEW SERVERS ADDED (7) === - servers/closebot — 119 tools, 14 modules, 4,656 lines TS (Stage 7) - servers/google-console — Google Search Console MCP (Stage 7) - servers/meta-ads — Meta/Facebook Ads MCP (Stage 8) - servers/twilio — Twilio communications MCP (Stage 8) - servers/competitor-research — Competitive intel MCP (Stage 6) - servers/n8n-apps — n8n workflow MCP apps (Stage 6) - servers/reonomy — Commercial real estate MCP (Stage 1) === FACTORY INFRASTRUCTURE ADDED === - infra/factory-tools — mcp-jest, mcp-validator, mcp-add, MCP Inspector - 60 test configs, 702 auto-generated test cases - All 30 servers score 100/100 protocol compliance - infra/command-center — Pipeline state, operator playbook, dashboard config - infra/factory-reviews — Automated eval reports === DOCS ADDED === - docs/MCP-FACTORY.md — Factory overview - docs/reports/ — 5 pipeline evaluation reports - docs/research/ — Browser MCP research === RULES ESTABLISHED === - CONTRIBUTING.md — All MCP work MUST go in this repo - README.md — Full inventory of 37 servers + infra docs - .gitignore — Updated for Python venvs TOTAL: 37 MCP servers + full factory pipeline in one repo. This is now the single source of truth for all MCP work.
9.0 KiB
9.0 KiB
| 1 | ID | Category | Subcategory | Requirement | Type | Reference |
|---|---|---|---|---|---|---|
| 2 | 1.1.1.1 | Base Protocol | JSON-RPC | Messages MUST follow JSON-RPC 2.0 specification | MUST | 1.1.1 |
| 3 | 1.1.1.2 | Base Protocol | JSON-RPC | Requests MUST include a string or integer ID (not null) | MUST | 1.1.1 |
| 4 | 1.1.1.3 | Base Protocol | JSON-RPC | Request IDs MUST be unique within a session | MUST | 1.1.1 |
| 5 | 1.1.1.4 | Base Protocol | JSON-RPC | Requests MUST include a method string | MUST | 1.1.1 |
| 6 | 1.1.2.1 | Base Protocol | JSON-RPC | Responses MUST include the same ID as the corresponding request | MUST | 1.1.2 |
| 7 | 1.1.2.2 | Base Protocol | JSON-RPC | Responses MUST include either a result or an error (not both) | MUST | 1.1.2 |
| 8 | 1.1.2.3 | Base Protocol | JSON-RPC | Error responses MUST include an error code and message | MUST | 1.1.2 |
| 9 | 1.1.3.1 | Base Protocol | JSON-RPC | Notifications MUST NOT include an ID | MUST | 1.1.3 |
| 10 | 1.1.3.2 | Base Protocol | JSON-RPC | Notifications MUST include a method string | MUST | 1.1.3 |
| 11 | 1.2.1.1 | Base Protocol | Transport | STDIO: Client MUST launch server as subprocess | MUST | 1.2.1 |
| 12 | 1.2.1.2 | Base Protocol | Transport | STDIO: Server MUST read from stdin and write to stdout | MUST | 1.2.1 |
| 13 | 1.2.1.3 | Base Protocol | Transport | STDIO: Messages MUST be delimited by newlines | MUST | 1.2.1 |
| 14 | 1.2.1.4 | Base Protocol | Transport | STDIO: Messages MUST NOT contain embedded newlines | MUST | 1.2.1 |
| 15 | 1.2.1.5 | Base Protocol | Transport | STDIO: Server MUST NOT write anything to stdout that is not a valid MCP message | MUST | 1.2.1 |
| 16 | 1.2.1.6 | Base Protocol | Transport | STDIO: Client MUST NOT write anything to stdin that is not a valid MCP message | MUST | 1.2.1 |
| 17 | 1.2.2.1 | Base Protocol | Transport | HTTP with SSE: Server MUST provide two endpoints for SSE and HTTP POST | MUST | 1.2.2 |
| 18 | 1.2.2.2 | Base Protocol | Transport | HTTP with SSE: Server MUST send endpoint event with URI for client messages | MUST | 1.2.2 |
| 19 | 1.2.2.3 | Base Protocol | Transport | HTTP with SSE: Client messages MUST be sent as HTTP POST requests | MUST | 1.2.2 |
| 20 | 1.3.1.1 | Base Protocol | Lifecycle | Client MUST send initialize request as first interaction | MUST | 1.3.1 |
| 21 | 1.3.1.2 | Base Protocol | Lifecycle | Initialize request MUST include protocol version supported | MUST | 1.3.1 |
| 22 | 1.3.1.3 | Base Protocol | Lifecycle | Initialize request MUST include client capabilities | MUST | 1.3.1 |
| 23 | 1.3.1.4 | Base Protocol | Lifecycle | Initialize request MUST include client implementation information | MUST | 1.3.1 |
| 24 | 1.3.1.5 | Base Protocol | Lifecycle | Server MUST respond with protocol version | MUST | 1.3.1 |
| 25 | 1.3.1.6 | Base Protocol | Lifecycle | Server MUST respond with server capabilities | MUST | 1.3.1 |
| 26 | 1.3.1.7 | Base Protocol | Lifecycle | Server MUST respond with server implementation information | MUST | 1.3.1 |
| 27 | 1.3.1.8 | Base Protocol | Lifecycle | After successful initialization client MUST send initialized notification | MUST | 1.3.1 |
| 28 | 1.3.1.9 | Base Protocol | Lifecycle | Client SHOULD NOT send requests other than pings before server responds to initialize | SHOULD | 1.3.1 |
| 29 | 1.3.1.10 | Base Protocol | Lifecycle | Server SHOULD NOT send requests other than pings and logging before initialized notification | SHOULD | 1.3.1 |
| 30 | 1.3.2.1 | Base Protocol | Lifecycle | Client MUST send a protocol version it supports | MUST | 1.3.2 |
| 31 | 1.3.2.2 | Base Protocol | Lifecycle | If server supports requested version it MUST respond with same version | MUST | 1.3.2 |
| 32 | 1.3.2.3 | Base Protocol | Lifecycle | Otherwise server MUST respond with another supported version | MUST | 1.3.2 |
| 33 | 1.3.2.4 | Base Protocol | Lifecycle | If client doesn't support server's version it SHOULD disconnect | SHOULD | 1.3.2 |
| 34 | 1.3.3.1 | Base Protocol | Lifecycle | Client and server MUST declare capabilities during initialization | MUST | 1.3.3 |
| 35 | 1.3.3.2 | Base Protocol | Lifecycle | Both parties SHOULD respect negotiated capabilities | SHOULD | 1.3.3 |
| 36 | 1.3.4.1 | Base Protocol | Lifecycle | For stdio: client SHOULD close input stream to server for shutdown | SHOULD | 1.3.4 |
| 37 | 1.3.4.2 | Base Protocol | Lifecycle | For HTTP: shutdown indicated by closing HTTP connections | INFO | 1.3.4 |
| 38 | 2.1.1.1 | Server Features | Resources | Servers supporting resources MUST declare resources capability | MUST | 2.1.1 |
| 39 | 2.1.1.2 | Server Features | Resources | Resources capability MAY include subscribe feature | MAY | 2.1.1 |
| 40 | 2.1.1.3 | Server Features | Resources | Resources capability MAY include listChanged feature | MAY | 2.1.1 |
| 41 | 2.1.2.1 | Server Features | Resources | Server response to resources/list MUST include resources array | MUST | 2.1.2 |
| 42 | 2.1.2.2 | Server Features | Resources | Each resource MUST include uri and name | MUST | 2.1.2 |
| 43 | 2.1.3.1 | Server Features | Resources | Server response to resources/read MUST include contents array | MUST | 2.1.3 |
| 44 | 2.1.3.2 | Server Features | Resources | Each content item MUST include uri and either text or blob | MUST | 2.1.3 |
| 45 | 2.1.3.3 | Server Features | Resources | Each content item SHOULD include mimeType | SHOULD | 2.1.3 |
| 46 | 2.1.4.1 | Server Features | Resources | Server response to resources/templates/list MUST include resourceTemplates array | MUST | 2.1.4 |
| 47 | 2.1.4.2 | Server Features | Resources | Each template MUST include uriTemplate | MUST | 2.1.4 |
| 48 | 2.1.5.1 | Server Features | Resources | Server MUST send notifications/resources/updated when resource changes | MUST | 2.1.5 |
| 49 | 2.1.5.2 | Server Features | Resources | Server MUST support subscribe capability to use subscription feature | MUST | 2.1.5 |
| 50 | 2.1.6.1 | Server Features | Resources | Server SHOULD send notifications/resources/list_changed when resource list changes | SHOULD | 2.1.6 |
| 51 | 2.1.6.2 | Server Features | Resources | Server MUST support listChanged capability to use list_changed notification | MUST | 2.1.6 |
| 52 | 2.2.1.1 | Server Features | Prompts | Servers supporting prompts MUST declare prompts capability | MUST | 2.2.1 |
| 53 | 2.2.1.2 | Server Features | Prompts | Prompts capability MAY include listChanged feature | MAY | 2.2.1 |
| 54 | 2.2.2.1 | Server Features | Prompts | Server response to prompts/list MUST include prompts array | MUST | 2.2.2 |
| 55 | 2.2.2.2 | Server Features | Prompts | Each prompt MUST include name | MUST | 2.2.2 |
| 56 | 2.2.3.1 | Server Features | Prompts | Server response to prompts/get MUST include messages array | MUST | 2.2.3 |
| 57 | 2.2.3.2 | Server Features | Prompts | Each message MUST include role and content | MUST | 2.2.3 |
| 58 | 2.2.3.3 | Server Features | Prompts | Content MUST be one of: text image or resource | MUST | 2.2.3 |
| 59 | 2.2.4.1 | Server Features | Prompts | Server SHOULD send notifications/prompts/list_changed when prompt list changes | SHOULD | 2.2.4 |
| 60 | 2.2.4.2 | Server Features | Prompts | Server MUST support listChanged capability to use list_changed notification | MUST | 2.2.4 |
| 61 | 2.3.1.1 | Server Features | Tools | Servers supporting tools MUST declare tools capability | MUST | 2.3.1 |
| 62 | 2.3.1.2 | Server Features | Tools | Tools capability MAY include listChanged feature | MAY | 2.3.1 |
| 63 | 2.3.2.1 | Server Features | Tools | Server response to tools/list MUST include tools array | MUST | 2.3.2 |
| 64 | 2.3.2.2 | Server Features | Tools | Each tool MUST include name description and inputSchema | MUST | 2.3.2 |
| 65 | 2.3.3.1 | Server Features | Tools | Server response to tools/call MUST include content array and isError flag | MUST | 2.3.3 |
| 66 | 2.3.3.2 | Server Features | Tools | Each content item MUST be one of: text image or resource | MUST | 2.3.3 |
| 67 | 2.3.4.1 | Server Features | Tools | Server SHOULD send notifications/tools/list_changed when tool list changes | SHOULD | 2.3.4 |
| 68 | 2.3.4.2 | Server Features | Tools | Server MUST support listChanged capability to use list_changed notification | MUST | 2.3.4 |
| 69 | 3.1.1.1 | Client Features | Roots | Clients supporting roots MUST declare roots capability | MUST | 3.1.1 |
| 70 | 3.1.1.2 | Client Features | Roots | Roots capability MAY include listChanged feature | MAY | 3.1.1 |
| 71 | 3.1.2.1 | Client Features | Roots | Client response to roots/list MUST include roots array | MUST | 3.1.2 |
| 72 | 3.1.2.2 | Client Features | Roots | Each root MUST include uri | MUST | 3.1.2 |
| 73 | 3.1.3.1 | Client Features | Roots | Client MUST send notifications/roots/list_changed when root list changes | MUST | 3.1.3 |
| 74 | 3.1.3.2 | Client Features | Roots | Client MUST support listChanged capability to use list_changed notification | MUST | 3.1.3 |
| 75 | 3.2.1.1 | Client Features | Sampling | Clients supporting sampling MUST declare sampling capability | MUST | 3.2.1 |
| 76 | 3.2.2.1 | Client Features | Sampling | Client response to sampling/createMessage MUST include role content model stopReason | MUST | 3.2.2 |
| 77 | 3.2.2.2 | Client Features | Sampling | Content MUST be one of: text or image | MUST | 3.2.2 |
| 78 | 4.1.1.1 | Utilities | Ping | Ping receiver MUST respond promptly with empty response | MUST | 4.1.1 |
| 79 | 4.2.1.1 | Utilities | Cancellation | Cancellation notification MUST include requestId of request to cancel | MUST | 4.2.1 |
| 80 | 4.2.1.2 | Utilities | Cancellation | Cancellation notifications MUST only reference previously issued requests | MUST | 4.2.1 |
| 81 | 4.2.1.3 | Utilities | Cancellation | Initialize request MUST NOT be cancelled by clients | MUST | 4.2.1 |
| 82 | 4.2.1.4 | Utilities | Cancellation | Receivers SHOULD stop processing cancelled request | SHOULD | 4.2.1 |
| 83 | 4.3.1.1 | Utilities | Progress | Progress tokens MUST be unique across active requests | MUST | 4.3.1 |
| 84 | 4.3.2.1 | Utilities | Progress | Progress notifications MUST include progressToken and progress value | MUST | 4.3.2 |
| 85 | 4.3.2.2 | Utilities | Progress | Progress value MUST increase with each notification | MUST | 4.3.2 |
| 86 | 4.3.2.3 | Utilities | Progress | Progress notifications MUST only reference active requests | MUST | 4.3.2 |
| 87 | 4.4.1.1 | Utilities | Logging | Servers supporting logging MUST declare logging capability | MUST | 4.4.1 |
| 88 | 4.4.3.1 | Utilities | Logging | Server sends notifications/message with log level optional logger name and data | INFO | 4.4.3 |
| 89 | 4.5.1.1 | Utilities | Completion | Server response to completion/complete MUST include completion values | MUST | 4.5.1 |
| 90 | 4.5.1.2 | Utilities | Completion | Completion response limited to maximum 100 items per response | MUST | 4.5.1 |
| 91 | 4.6.1.1 | Utilities | Pagination | Clients MUST treat cursors as opaque tokens | MUST | 4.6.1 |