Labsco
timbassler88 logo

SnapState

β˜… 8

from timbassler88

Persistent state for AI agent workflows. Save, resume, and replay multi-step workflows across sessions, crashes, and agent handoffs. Free tier included.

πŸ”₯πŸ”₯FreeNeeds API keys

MCP Registry

The MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers.

πŸ“€ Publish my MCP server | ⚑️ Live API docs | πŸ‘€ Ecosystem vision | πŸ“– Full documentation

Development Status

2025-10-24 update: The Registry API has entered an API freeze (v0.1) πŸŽ‰. For the next month or more, the API will remain stable with no breaking changes, allowing integrators to confidently implement support. This freeze applies to v0.1 while development continues on v0. We'll use this period to validate the API in real-world integrations and gather feedback to shape v1 for general availability. Thank you to everyone for your contributions and patienceβ€”your involvement has been key to getting us here!

2025-09-08 update: The registry has launched in preview πŸŽ‰ (announcement blog post). While the system is now more stable, this is still a preview release and breaking changes or data resets may occur. A general availability (GA) release will follow later. We'd love your feedback in GitHub discussions or in the #registry-dev Discord (joining details here).

Current key maintainers:

Architecture

Project Structure

β”œβ”€β”€ cmd/                     # Application entry points
β”‚   └── publisher/           # Server publishing tool
β”œβ”€β”€ data/                    # Seed data
β”œβ”€β”€ deploy/                  # Deployment configuration (Pulumi)
β”œβ”€β”€ docs/                    # Documentation
β”œβ”€β”€ internal/                # Private application code
β”‚   β”œβ”€β”€ api/                 # HTTP handlers and routing
β”‚   β”œβ”€β”€ auth/                # Authentication (GitHub OAuth, JWT, namespace blocking)
β”‚   β”œβ”€β”€ config/              # Configuration management
β”‚   β”œβ”€β”€ database/            # Data persistence (PostgreSQL)
β”‚   β”œβ”€β”€ service/             # Business logic
β”‚   β”œβ”€β”€ telemetry/           # Metrics and monitoring
β”‚   └── validators/          # Input validation
β”œβ”€β”€ pkg/                     # Public packages
β”‚   β”œβ”€β”€ api/                 # API types and structures
β”‚   β”‚   └── v0/              # Version 0 API types
β”‚   └── model/               # Data models for server.json
β”œβ”€β”€ scripts/                 # Development and testing scripts
β”œβ”€β”€ tests/                   # Integration tests
└── tools/                   # CLI tools and utilities
    └── validate-*.sh        # Schema validation tools

Authentication

Publishing supports multiple authentication methods:

  • GitHub OAuth - For publishing by logging into GitHub
  • GitHub OIDC - For publishing from GitHub Actions
  • DNS verification - For proving ownership of a domain and its subdomains
  • HTTP verification - For proving ownership of a domain

The registry validates namespace ownership when publishing. E.g. to publish...:

  • io.github.domdomegg/my-cool-mcp you must login to GitHub as domdomegg, or be in a GitHub Action on domdomegg's repos
  • me.adamjones/my-cool-mcp you must prove ownership of adamjones.me via DNS or HTTP challenge

More documentation

See the documentation for more details if your question has not been answered here!