MCP server for AI memory management using Letta - Standard MCP format
npm install @letta-ai/memory-mcpThe MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers.
š Full documentation
> [!WARNING]
> The registry is under active development. The registry API spec is unstable and the official MCP registry database may be wiped at any time.
2025-09-04 update: We're targeting a 'preview' go-live on 8th September. This may still be unstable and not provide durability guarantees, but is a step towards being more solidified. A general availability (GA) release will follow later.
Current key maintainers:
- Adam Jones (Anthropic) @domdomegg
- Tadas Antanavicius (PulseMCP) @tadasant
- Toby Padilla (GitHub) @toby
We use multiple channels for collaboration - see modelcontextprotocol.io/community/communication.
Often (but not always) ideas flow through this pipeline:
- Discord - Real-time community discussions
- Discussions - Propose and discuss product/technical requirements
- Issues - Track well-scoped technical work
- Pull Requests - Contribute work towards issues
#### Pre-requisites
- Docker
- Go 1.24.x
- golangci-lint v2.4.0
#### Running the server
``bash`Start full development environment
make dev-compose
This starts the registry at localhost:8080 with PostgreSQL and seed data. It can be configured with environment variables in docker-compose.yml - see .env.example for a reference.
Alternative: Local setup without Docker
Prerequisites:
- PostgreSQL running locally
- Go 1.24.x installed
`bash`Build and run locally
make build
make dev-local
The service runs on localhost:8080 by default. This can be configured with environment variables in .env - see .env.example for a reference.
Alternative: Running a pre-built Docker image
Pre-built Docker images are automatically published to GitHub Container Registry:
`bashRun latest stable release
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest
Available tags:
- Releases:
latest, v1.0.0, v1.1.0, etc.
- Continuous: main (latest main branch build)
- Development: main- (specific commit builds)#### Publishing a server
To publish a server, we've built a simple CLI. You can use it with:
`bash
Build the latest CLI
make publisherUse it!
./bin/mcp-publisher --help
`See the publisher guide for more details.
#### Other commands
`bash
Run lint, unit tests and integration tests
make check
`There are also a few more helpful commands for development. Run
make help to learn more, or look in Makefile.Architecture
$3
`
āāā 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, in-memory)
ā āāā 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
`$3
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 challengeSee the documentation for more details if your question has not been answered here!