Skip to content

Advertise the Kernel server name on initialize - #131

Merged
masnwilliams merged 3 commits into
mainfrom
hypeship/advertise-kernel-server-name
Aug 4, 2026
Merged

masnwilliams merged 3 commits into
mainfrom
hypeship/advertise-kernel-server-name

Conversation

@masnwilliams

@masnwilliams masnwilliams commented Jul 31, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The MCP server was identifying itself to every client as mcp-typescript server on vercel — mcp-handler's default serverInfo, which we never overrode. server.json already declares the server as com.onkernel/kernel-mcp-server, so the registry entry and the runtime handshake disagreed.

This passes serverInfo through to createMcpHandler, sourced from server.json so the two can't drift apart again.

Clients now see:

"serverInfo": { "name": "com.onkernel/kernel-mcp-server", "version": "1.0.0" }

serverInfo.name is the programmatic identifier (per spec, clients prefer an optional title for display and fall back to name); mcp-handler's ServerOptions type only accepts name and version, so title is out of scope here.

Why it matters beyond cosmetics

  • Registry consumers and bundle tooling expect the manifest name to match the serverInfo.name returned by initialize.
  • The name is recorded on captured analytics events, so every event to date is attributed to a generic default rather than to this server.

Verification

Ran the real route locally and probed POST /mcp:

  • initialize returns serverInfo: { name: "com.onkernel/kernel-mcp-server", version: "1.0.0" }.
  • With a project token set, the captured $mcp_initialize and $mcp_tools_list events carry $mcp_server_name = com.onkernel/kernel-mcp-server and $mcp_server_version = 1.0.0, grouped in one session with client name and version intact.

tsc --noEmit and prettier --check pass. No behavior change to tools, auth, or transport.


Note

Low Risk
Metadata-only change to MCP initialize serverInfo; no auth, tool, or transport behavior changes.

Overview
MCP initialize now reports the Kernel server identity instead of mcp-handler's default (mcp-typescript server on vercel).

The route passes serverInfo: { name, version } into createMcpHandler, with name and version imported from server.json so the MCP handshake matches the registry manifest and they stay in sync.

No changes to tools, auth, or transport—only what clients and analytics see for server name/version on initialize.

Reviewed by Cursor Bugbot for commit 37fc687. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel

vercel Bot commented Jul 31, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mcp Ready Ready Preview Aug 3, 2026 8:57pm

@dcruzeneil2 dcruzeneil2 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@masnwilliams
masnwilliams merged commit f6f7110 into main Aug 4, 2026
10 checks passed
@masnwilliams
masnwilliams deleted the hypeship/advertise-kernel-server-name branch August 4, 2026 14:20

This branch was successfully deployed

1 active deployment
Preview — 37fc6873 Deployed Aug 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants