docs/mcp-registry-submission.md
MCP Server Registry Submission Guide
Submit an MCP server for Picasso users.
Requirements
Every registry entry must include:
- Server name.
- Package or executable location.
- Transport:
stdio,http+sse, orwebsocket. - Version.
- Capability list.
- Required secrets.
- Security notes.
- Audit signature metadata.
Manifest shape
{
"schemaVersion": "picasso.mcp.registry.v1",
"id": "example-server",
"name": "Example Server",
"version": "1.0.0",
"description": "Read-only project metadata server.",
"publisher": "Example Org",
"capabilities": ["project-metadata"],
"server": {
"name": "example-server",
"transport": "stdio",
"command": "node",
"args": ["dist/index.js"]
},
"signature": {
"algorithm": "ed25519",
"keyId": "picasso-registry-v1",
"signature": "<base64 ed25519 signature>"
}
}The registry verifies signature against a trusted public key (--public-key <keyId=path>) before the manifest is installable.
Review checklist
- Server defaults to read-only.
- Required secrets are declared and loaded from the Picasso secrets store.
- Server never reads raw shell environment variables for credentials.
- Network egress is documented.
- File writes, if any, are scoped to the workspace.
- Tool names and input schemas are stable.
- Error messages do not leak secrets.
Local validation
picasso mcp search example
picasso mcp install example-server
picasso mcp enable example-server
picasso mcp list
picasso mcp logs example-serverSubmission package
Send:
- Manifest JSON.
- Source repository URL.
- Release artifact URL.
- Threat model.
- Secret-handling notes.
- Example tool calls.
- Test transcript.
Picasso can reject submissions that require broad filesystem access, undeclared network egress, hidden telemetry, or credential handling outside the secrets store.