About Servercard Go
Servercard Go is an MCP server in the Developer Tools category: go library implementing SEP-2127 MCP Server Cards for pre-connect server discovery. It has been installed 0 times through Conduid.
Install
git clone https://github.com/olgasafonova/mcp-servercard-goThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Servercard Go
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- ·Scoped permissionsNot checked yet.
README
mcp-servercard-go
Reference implementation of SEP-2127 MCP Server Cards for Go.
Go library implementing SEP-2127 MCP Server Cards. Pure-stdlib HTTP handler; no MCP SDK dependency.
A Server Card is a JSON document served at /.well-known/mcp-server-card that describes an MCP server before connection: identity, transports, protocol versions, and connection guidance. This enables pre-connect discovery without a full initialization handshake.
Note on
$schemaURL: The spec referenceshttps://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json. As of v0.3.0, this URL returns 404 — schema hosting is pending the SEP merge. The library emits the URL the spec mandates; treat the schema as informational until hosted.
Usage
import "github.com/olgasafonova/mcp-servercard-go/servercard"
cardHandler, err := servercard.Attach(servercard.Options{
Name: "io.github.olgasafonova/gleif-mcp-server",
Version: "1.4.0",
Description: "Access the GLEIF LEI database for company verification.",
Title: "GLEIF MCP Server",
WebsiteURL: "https://github.com/olgasafonova/gleif-mcp-server",
Remotes: []servercard.Remote{{
Type: "streamable-http",
URL: "/mcp",
}},
Provider: &servercard.Provider{
Name: "Olga Safonova",
URL: "https://github.com/olgasafonova",
},
})
if err != nil {
log.Fatal(err)
}
// Mount alongside your MCP handler.
mux := http.NewServeMux()
mux.Handle("/mcp", mcpHandler)
mux.Handle(servercard.WellKnownPath, cardHandler)
What it does
- Builds a Server Card JSON document conforming to the SEP-2127 schema
- Serves it at
/.well-known/mcp-server-cardwith correct CORS and caching headers
What's new in v0.3.0
- Breaking: Removed
RegisterResource(),ResourceURI, and themcp://server-card.jsonMCP resource endpoint to align with SEP-2127 (PR #2443, March 2026): discovery is pre-connection only via.well-known. - Breaking:
Attach()no longer takes a*mcp.Serverparameter — signature is nowAttach(opts) (http.Handler, error). - Breaking: Removed
Capabilities,Requires, andAuthenticationfields per SEP-2127 scope reduction (capabilities and auth belong ininitialize, not in static discovery). - Library no longer depends on
github.com/modelcontextprotocol/go-sdk. Pure stdlib.
What's new in v0.2.0
Auth.Schemesnormalization: empty or nil slices serialize consistentlyWellKnownPathFor(card)for multi-server setups: returns/.well-known/mcp-server-card/{name}so multiple servers on the same host each get a distinct discovery path
API
| Function | Purpose |
|---|---|
Attach(opts) |
One-line setup: builds card and returns HTTP handler |
Build(opts) |
Builds a *ServerCard struct from options |
Handler(card) |
Returns an http.Handler serving the card JSON |
WellKnownPathFor(card) |
Returns /.well-known/mcp-server-card/{name} for multi-server sub-paths |
Integrated in
- miro-mcp-server (91 tools, 5 prompts)
- mediawiki-mcp-server (40+ tools)
References
License
MIT
README mirrored from the source repository 5 months ago. The original is authoritative.