Overview
This document tracks the registration of all official MCP reference servers and the documentation server in the MCP Server Registry.
Goal: Register all 8 servers to promote discoverability through the official registry as we deprecate README-based server listings.
Important: This document provides guidance and checklists, but always refer to the official registry documentation for the most up-to-date and accurate information.
Key Requirements (From Official Docs)
Based on official registry documentation:
- NPM packages:
mcpName in package.json MUST match server name in server.json
- PyPI packages:
mcp-name: marker in README MUST match server name in server.json (can be in HTML comment)
- Remote servers: MUST be publicly accessible at specified URL
- Namespace: For GitHub auth, must use
io.github.[org-name]/[server-name] format
- Schema: server.json should include
$schema property pointing to official schema
- Version matching: Versions in server.json should match published package versions
Server Inventory
NPM Packages (4 servers)
-
everything - @modelcontextprotocol/server-everything
- Description: Test server exercising all MCP protocol features
- Version: 0.6.2
- Location:
src/everything/
-
filesystem - @modelcontextprotocol/server-filesystem
- Description: Filesystem operations (read/write/search)
- Location:
src/filesystem/
-
memory - @modelcontextprotocol/server-memory
- Description: Knowledge graph-based persistent memory
- Location:
src/memory/
-
sequentialthinking - @modelcontextprotocol/server-sequential-thinking
- Description: Structured problem-solving with dynamic thinking
- Location:
src/sequentialthinking/
PyPI Packages (3 servers)
-
fetch - mcp-server-fetch
- Description: Web content fetching with HTML to markdown conversion
- Version: 0.6.3
- Location:
src/fetch/
-
git - mcp-server-git
- Description: Git repository interaction and automation
- Location:
src/git/
-
time - mcp-server-time
- Description: Time and timezone conversion capabilities
- Location:
src/time/
Remote Server
- docs - MCP Documentation Server
Registration Process
Based on the MCP Registry documentation, here's the workflow:
Prerequisites
For Each Server
See the Publisher Quickstart for the complete official process.
-
Update Package Metadata
- NPM: Add
mcpName property to package.json (must match server name in server.json)
- PyPI: Add
mcp-name: $SERVER_NAME to README (can be in HTML comment)
-
Verify Package Publication
- Ensure latest version is published to npm/PyPI
- Confirm package is publicly accessible
-
Create server.json
cd src/[server-name]
mcp-publisher init
Follow the interactive prompts to generate the file. The tool will create the correct structure.
-
Authenticate
mcp-publisher login github
- Follow GitHub device flow
- Must authenticate as
modelcontextprotocol organization member
-
Publish to Registry
-
Verify Registration
Technical Requirements
NPM Packages
Required Changes to package.json:
The mcpName property MUST match the server name from server.json.
{
"mcpName": "io.github.modelcontextprotocol/server-everything",
"repository": {
"type": "git",
"url": "https://github.com/modelcontextprotocol/servers.git"
}
}
Reference: Package Types - npm
PyPI Packages
Required Addition to README.md:
The README must contain an mcp-name: $SERVER_NAME string where $SERVER_NAME MUST match the server name from server.json. This can be placed in an HTML comment:
<!-- mcp-name: io.github.modelcontextprotocol/server-fetch -->
Or as plain text near the top of the README.
Reference: Package Types - PyPI
server.json Templates
Note: Use mcp-publisher init to generate the correct structure. The examples below are for reference.
Reference: Publisher Quickstart - server.json structure
For Package-based Servers (NPM/PyPI)
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
"name": "io.github.modelcontextprotocol/server-[name]",
"description": "Server description here",
"repository": {
"url": "https://github.com/modelcontextprotocol/servers",
"source": "github"
},
"version": "0.6.x",
"packages": [{
"registryType": "npm",
"identifier": "@modelcontextprotocol/server-[name]",
"version": "0.6.x",
"transport": {
"type": "stdio"
}
}]
}
For PyPI packages, change:
"registryType": "pypi"
"identifier": "mcp-server-[name]"
For Remote Servers
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
"name": "io.github.modelcontextprotocol/docs",
"description": "Official MCP protocol documentation",
"repository": {
"url": "https://github.com/modelcontextprotocol/servers",
"source": "github"
},
"version": "1.0.0",
"remotes": [{
"url": "https://modelcontextprotocol.io/mcp",
"type": "streamable-http"
}]
}
Reference: Remote Servers Documentation
Detailed Checklist
1. everything (NPM)
2. filesystem (NPM)
3. memory (NPM)
4. sequentialthinking (NPM)
5. fetch (PyPI)
6. git (PyPI)
7. time (PyPI)
8. docs (Remote Server)
Resources
Registry Documentation
Tools
- mcp-publisher CLI: Available via curl, PowerShell, or Homebrew
- Registry API: For verification after publication
Authentication Methods
- GitHub OAuth (recommended for manual registration)
- GitHub OIDC (for CI/CD automation)
- DNS verification (for domain ownership)
- HTTP verification (for domain ownership)
Notes
Namespace Ownership
- All servers should use namespace:
io.github.modelcontextprotocol
- Requires authentication as the
modelcontextprotocol GitHub organization
- Organization members with appropriate permissions can publish
Version Management
- Ensure server.json versions match published packages
- Consider setting up GitHub Actions for automated publishing
- Future releases should include registry updates in release process
Docker Images
Several servers have Docker images (mcp/fetch, mcp/git, etc.). These could potentially be registered as OCI packages using the io.modelcontextprotocol.server.name annotation in Dockerfiles.
Reference: Package Types - Docker/OCI Images
Special Considerations
- Documentation server (docs) is registered as a remote server using the streamable HTTP transport
- Remote servers MUST be publicly accessible at their specified URL (per Remote Servers docs)
- The
remotes and packages properties can coexist in the same server.json, allowing users to choose their preferred installation method
- Some servers support multiple transports; these can be registered with multiple entries in the
packages or remotes arrays
Next Steps
- Install mcp-publisher CLI tool
- Authenticate with GitHub as modelcontextprotocol org member
- Work through checklist for each server
- Document any issues or special cases encountered
- Update release process to include registry publication
- Consider automating via GitHub Actions for future releases
(originally generated by Claude and edited)
Overview
This document tracks the registration of all official MCP reference servers and the documentation server in the MCP Server Registry.
Goal: Register all 8 servers to promote discoverability through the official registry as we deprecate README-based server listings.
Important: This document provides guidance and checklists, but always refer to the official registry documentation for the most up-to-date and accurate information.
Key Requirements (From Official Docs)
Based on official registry documentation:
mcpNamein package.json MUST match server name in server.jsonmcp-name:marker in README MUST match server name in server.json (can be in HTML comment)io.github.[org-name]/[server-name]format$schemaproperty pointing to official schemaServer Inventory
NPM Packages (4 servers)
everything -
@modelcontextprotocol/server-everythingsrc/everything/filesystem -
@modelcontextprotocol/server-filesystemsrc/filesystem/memory -
@modelcontextprotocol/server-memorysrc/memory/sequentialthinking -
@modelcontextprotocol/server-sequential-thinkingsrc/sequentialthinking/PyPI Packages (3 servers)
fetch -
mcp-server-fetchsrc/fetch/git -
mcp-server-gitsrc/git/time -
mcp-server-timesrc/time/Remote Server
Registration Process
Based on the MCP Registry documentation, here's the workflow:
Prerequisites
For Each Server
See the Publisher Quickstart for the complete official process.
Update Package Metadata
mcpNameproperty to package.json (must match server name in server.json)mcp-name: $SERVER_NAMEto README (can be in HTML comment)Verify Package Publication
Create server.json
cd src/[server-name] mcp-publisher initFollow the interactive prompts to generate the file. The tool will create the correct structure.
Authenticate
modelcontextprotocolorganization memberPublish to Registry
Verify Registration
Technical Requirements
NPM Packages
Required Changes to package.json:
The
mcpNameproperty MUST match the server name fromserver.json.{ "mcpName": "io.github.modelcontextprotocol/server-everything", "repository": { "type": "git", "url": "https://github.com/modelcontextprotocol/servers.git" } }Reference: Package Types - npm
PyPI Packages
Required Addition to README.md:
The README must contain an
mcp-name: $SERVER_NAMEstring where$SERVER_NAMEMUST match the server name fromserver.json. This can be placed in an HTML comment:<!-- mcp-name: io.github.modelcontextprotocol/server-fetch -->Or as plain text near the top of the README.
Reference: Package Types - PyPI
server.json Templates
Note: Use
mcp-publisher initto generate the correct structure. The examples below are for reference.Reference: Publisher Quickstart - server.json structure
For Package-based Servers (NPM/PyPI)
{ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json", "name": "io.github.modelcontextprotocol/server-[name]", "description": "Server description here", "repository": { "url": "https://github.com/modelcontextprotocol/servers", "source": "github" }, "version": "0.6.x", "packages": [{ "registryType": "npm", "identifier": "@modelcontextprotocol/server-[name]", "version": "0.6.x", "transport": { "type": "stdio" } }] }For PyPI packages, change:
"registryType": "pypi""identifier": "mcp-server-[name]"For Remote Servers
{ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json", "name": "io.github.modelcontextprotocol/docs", "description": "Official MCP protocol documentation", "repository": { "url": "https://github.com/modelcontextprotocol/servers", "source": "github" }, "version": "1.0.0", "remotes": [{ "url": "https://modelcontextprotocol.io/mcp", "type": "streamable-http" }] }Reference: Remote Servers Documentation
Detailed Checklist
1. everything (NPM)
mcpNameto src/everything/package.jsonmcp-publisher initin src/everything/mcp-publisher publish2. filesystem (NPM)
mcpNameto src/filesystem/package.jsonmcp-publisher initin src/filesystem/mcp-publisher publish3. memory (NPM)
mcpNameto src/memory/package.jsonmcp-publisher initin src/memory/mcp-publisher publish4. sequentialthinking (NPM)
mcpNameto src/sequentialthinking/package.jsonmcp-publisher initin src/sequentialthinking/mcp-publisher publish5. fetch (PyPI)
mcp-name:marker to src/fetch/README.mdmcp-publisher initin src/fetch/mcp-publisher publish6. git (PyPI)
mcp-name:marker to src/git/README.mdmcp-publisher initin src/git/mcp-publisher publish7. time (PyPI)
mcp-name:marker to src/time/README.mdmcp-publisher initin src/time/mcp-publisher publish8. docs (Remote Server)
mcp-publisher initand configure as remotemcp-publisher publishResources
Registry Documentation
Tools
Authentication Methods
Notes
Namespace Ownership
io.github.modelcontextprotocolmodelcontextprotocolGitHub organizationVersion Management
Docker Images
Several servers have Docker images (mcp/fetch, mcp/git, etc.). These could potentially be registered as OCI packages using the
io.modelcontextprotocol.server.nameannotation in Dockerfiles.Reference: Package Types - Docker/OCI Images
Special Considerations
remotesandpackagesproperties can coexist in the same server.json, allowing users to choose their preferred installation methodpackagesorremotesarraysNext Steps
(originally generated by Claude and edited)