- Go 92.9%
- PLpgSQL 3.1%
- HTML 1.9%
- Shell 1.6%
- Makefile 0.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Bumps [go.opentelemetry.io/contrib/instrumentation/runtime](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.62.0 to 0.63.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/releases">go.opentelemetry.io/contrib/instrumentation/runtime's releases</a>.</em></p> <blockquote> <h2>Release v1.38.0/v2.0.0/v0.63.0/v0.32.0/v0.18.0/v0.13.0/v0.11.0/v0.10.0</h2> <h2>Overview</h2> <p>This release is the last to support [Go 1.23]. The next release will require at least [Go 1.24].</p> <h3>Added</h3> <ul> <li>Add v2 version of AWS EC2 detector <code>go.opentelemetry.io/contrib/detectors/aws/ec2/v2</code> due to deprecation of <code>github.com/aws/aws-sdk-go</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/6961">#6961</a>)</li> <li>Add the unit <code>ns</code> to deprecated runtime metrics <code>process.runtime.go.gc.pause_total_ns</code> and <code>process.runtime.go.gc.pause_ns</code> in <code>go.opentelemetry.io/contrib/instrumentation/runtime</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7490">#7490</a>)</li> <li>The <code>go.opentelemetry.io/contrib/detectors/autodetect</code> package is added to automatically compose user defined <code>resource.Detector</code>s at runtime. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7522">#7522</a>)</li> <li>Add the <code>WithLoggerProviderOptions</code>, <code>WithMeterProviderOptions</code> and <code>WithTracerProviderOptions</code> options to <code>NewSDK</code> to allow passing custom options to providers in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7552">#7552</a>)</li> <li>Set <code>SeverityText</code> field to logrus hook in <code>go.opentelemetry.io/contrib/bridges/otellogrus</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7553">#7553</a>)</li> <li>Add the <code>WithTraceAttributeFn</code> option to <code>go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7556">#7556</a>)</li> <li>Add support for HTTP server metrics in <code>go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7668">#7668</a>)</li> <li>Support testing of [Go 1.25]. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7732">#7732</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Change the default span name to be <code>GET /path</code> so it complies with the HTTP semantic conventions in <code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7551">#7551</a>)</li> <li>Transform attribute values of <code>go.opentelemetry.io/otel/attribute.Value</code> and <code>go.opentelemetry.io/otel/log.Value</code> types to appropriate <code>go.opentelemetry.io/otel/log.Value</code> type instead of <code>log.StringValue</code> in the modules below. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7660">#7660</a>) <ul> <li><code>go.opentelemetry.io/contrib/bridges/otellogr</code></li> <li><code>go.opentelemetry.io/contrib/bridges/otellogrus</code></li> <li><code>go.opentelemetry.io/contrib/bridges/otelslog</code></li> <li><code>go.opentelemetry.io/contrib/bridges/otelzap</code></li> </ul> </li> <li>The <code>Severity</code> type from <code>go.opentelemetry.io/contrib/processors/minsev</code> now implements the <code>fmt.Stringer</code>, <code>encoding.TextMarshaler</code>, <code>encoding.TextUnmarshaler</code>, <code>encoding.TextAppender</code>, <code>json.Marshaler</code>, and <code>json.Unmarshaler</code> interfaces. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7652">#7652</a>)</li> <li>The <code>SeverityVar</code> type from <code>go.opentelemetry.io/contrib/processors/minsev</code> now implements the <code>fmt.Stringer</code>, <code>encoding.TextMarshaler</code>, <code>encoding.TextUnmarshaler</code>, and <code>encoding.TextAppender</code> interfaces. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7652">#7652</a>)</li> <li>Change the faas.max_memory unit to be bytes instead of MB to comply with the semantic conventions in <code>go.opentelemetry.io/contrib/detectors/aws/lambda</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7745">#7745</a>)</li> <li><code>Severity.Severity()</code> in <code>go.opentelemetry.io/contrib/processors/minsev</code> now returns <code>log.SeverityTrace1</code> for severities less than <code>minsev.SeverityTrace1</code> and <code>log.SeverityFatal4</code> for severities greater than <code>minsev.SeverityFatal4</code> instead of <code>log.SeverityUndefined</code>. All other conversions are the same. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7748">#7748</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Improve the ECS detector correctness in <code>go.opentelemetry.io/contrib/detectors/aws/ecs</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7607">#7607</a>)</li> </ul> <h3>Deprecated</h3> <ul> <li><code>WithSpanOptions</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> is deprecated. It is only used by the deprecated interceptor, and is unused by <code>NewClientHandler</code> and <code>NewServerHandler</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7601">#7601</a>)</li> <li><code>Extract</code> and <code>Inject</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> are deprecated. These functions were initially exposed in the public API, but are now considered unnecessary. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7689">#7689</a>)</li> <li>The <code>go.opentelemetry.io/contrib/detectors/aws/ec2</code> package is deprecated, use <code>go.opentelemetry.io/contrib/detectors/aws/ec2/v2</code> instead. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7725">#7725</a>)</li> </ul> <h3>Removed</h3> <ul> <li>Remove support for the <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> environment variable as well as support for semantic conventions v1.20.0 in the modules below. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7584">#7584</a>) <ul> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code></li> </ul> </li> <li>The deprecated <code>StreamClientInterceptor</code> function from <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> is removed. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7646">#7646</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md">go.opentelemetry.io/contrib/instrumentation/runtime's changelog</a>.</em></p> <blockquote> <h2>[1.38.0/2.0.0/0.63.0/0.32.0/0.18.0/0.13.0/0.11.0/0.10.0] - 2025-08-29</h2> <p>This release is the last to support [Go 1.23]. The next release will require at least [Go 1.24].</p> <h3>Added</h3> <ul> <li>Add v2 version of AWS EC2 detector <code>go.opentelemetry.io/contrib/detectors/aws/ec2/v2</code> due to deprecation of <code>github.com/aws/aws-sdk-go</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/6961">#6961</a>)</li> <li>Add the unit <code>ns</code> to deprecated runtime metrics <code>process.runtime.go.gc.pause_total_ns</code> and <code>process.runtime.go.gc.pause_ns</code> in <code>go.opentelemetry.io/contrib/instrumentation/runtime</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7490">#7490</a>)</li> <li>The <code>go.opentelemetry.io/contrib/detectors/autodetect</code> package is added to automatically compose user defined <code>resource.Detector</code>s at runtime. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7522">#7522</a>)</li> <li>Add the <code>WithLoggerProviderOptions</code>, <code>WithMeterProviderOptions</code> and <code>WithTracerProviderOptions</code> options to <code>NewSDK</code> to allow passing custom options to providers in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7552">#7552</a>)</li> <li>Set <code>SeverityText</code> field to logrus hook in <code>go.opentelemetry.io/contrib/bridges/otellogrus</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7553">#7553</a>)</li> <li>Add the <code>WithTraceAttributeFn</code> option to <code>go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7556">#7556</a>)</li> <li>Add support for HTTP server metrics in <code>go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7668">#7668</a>)</li> <li>Support testing of [Go 1.25]. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7732">#7732</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Change the default span name to be <code>GET /path</code> so it complies with the HTTP semantic conventions in <code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7551">#7551</a>)</li> <li>Transform attribute values of <code>go.opentelemetry.io/otel/attribute.Value</code> and <code>go.opentelemetry.io/otel/log.Value</code> types to appropriate <code>go.opentelemetry.io/otel/log.Value</code> type instead of <code>log.StringValue</code> in the modules below. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7660">#7660</a>) <ul> <li><code>go.opentelemetry.io/contrib/bridges/otellogr</code></li> <li><code>go.opentelemetry.io/contrib/bridges/otellogrus</code></li> <li><code>go.opentelemetry.io/contrib/bridges/otelslog</code></li> <li><code>go.opentelemetry.io/contrib/bridges/otelzap</code></li> </ul> </li> <li>The <code>Severity</code> type from <code>go.opentelemetry.io/contrib/processors/minsev</code> now implements the <code>fmt.Stringer</code>, <code>encoding.TextMarshaler</code>, <code>encoding.TextUnmarshaler</code>, <code>encoding.TextAppender</code>, <code>json.Marshaler</code>, and <code>json.Unmarshaler</code> interfaces. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7652">#7652</a>)</li> <li>The <code>SeverityVar</code> type from <code>go.opentelemetry.io/contrib/processors/minsev</code> now implements the <code>fmt.Stringer</code>, <code>encoding.TextMarshaler</code>, <code>encoding.TextUnmarshaler</code>, and <code>encoding.TextAppender</code> interfaces. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7652">#7652</a>)</li> <li>Change the faas.max_memory unit to be bytes instead of MB to comply with the semantic conventions in <code>go.opentelemetry.io/contrib/detectors/aws/lambda</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7745">#7745</a>)</li> <li><code>Severity.Severity()</code> in <code>go.opentelemetry.io/contrib/processors/minsev</code> now returns <code>log.SeverityTrace1</code> for severities less than <code>minsev.SeverityTrace1</code> and <code>log.SeverityFatal4</code> for severities greater than <code>minsev.SeverityFatal4</code> instead of <code>log.SeverityUndefined</code>. All other conversions are the same. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7748">#7748</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Improve the ECS detector correctness in <code>go.opentelemetry.io/contrib/detectors/aws/ecs</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7607">#7607</a>)</li> </ul> <h3>Deprecated</h3> <ul> <li><code>WithSpanOptions</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> is deprecated. It is only used by the deprecated interceptor, and is unused by <code>NewClientHandler</code> and <code>NewServerHandler</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7601">#7601</a>)</li> <li><code>Extract</code> and <code>Inject</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> are deprecated. These functions were initially exposed in the public API, but are now considered unnecessary. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7689">#7689</a>)</li> <li>The <code>go.opentelemetry.io/contrib/detectors/aws/ec2</code> package is deprecated, use <code>go.opentelemetry.io/contrib/detectors/aws/ec2/v2</code> instead. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7725">#7725</a>)</li> </ul> <h3>Removed</h3> <ul> <li>Remove support for the <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> environment variable as well as support for semantic conventions v1.20.0 in the modules below. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/7584">#7584</a>) <ul> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho</code></li> <li><code>go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace</code></li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
| .githooks | ||
| .github | ||
| .vscode | ||
| cmd | ||
| data | ||
| deploy | ||
| docs | ||
| internal | ||
| pkg | ||
| scripts | ||
| tests/integration | ||
| tools | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .golangci.yml | ||
| .goreleaser.yaml | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
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-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:
- Adam Jones (Anthropic) @domdomegg
- Tadas Antanavicius (PulseMCP) @tadasant
- Toby Padilla (GitHub) @toby
Contributing
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
Quick start:
Pre-requisites
- Docker
- Go 1.24.x
- golangci-lint v2.4.0
Running the server
# 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
# 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:
# Run latest stable release
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest
# Run latest from main branch (continuous deployment)
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main
# Run specific release version
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0
# Run development build from main branch
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d
Available tags:
- Releases:
latest,v1.0.0,v1.1.0, etc. - Continuous:
main(latest main branch build) - Development:
main-<date>-<sha>(specific commit builds)
Publishing a server
To publish a server, we've built a simple CLI. You can use it with:
# Build the latest CLI
make publisher
# Use it!
./bin/mcp-publisher --help
See the publisher guide for more details.
Other commands
# 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
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, 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
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-mcpyou must login to GitHub asdomdomegg, or be in a GitHub Action on domdomegg's reposme.adamjones/my-cool-mcpyou must prove ownership ofadamjones.mevia DNS or HTTP challenge
More documentation
See the documentation for more details if your question has not been answered here!