{"version":"2.1.299","anchor":"mcp-server-tags-calls-with-anthropicsession-metadata","canonical_anchor":"mcp-server-tags-calls-with-anthropicsession-metadata","heading":"claude mcp serve reads a session id sent with each tool call","tier":"use","area":"MCP Serve","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299\/e\/mcp-server-tags-calls-with-anthropicsession-metadata","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299","markdown":"### `claude mcp serve` reads a session id sent with each tool call\n\nWhen Claude Code runs as an MCP server, it reads a session id from each call's `anthropic\/session` metadata and warns when it is invalid\n\n**What**\n\n`mcp serve` runs Claude Code as an MCP server, a program that other apps can connect to and use as a source of tools. It now looks for a session id in the extra details sent with each tool call, under the key `anthropic\/session`. A session is one Claude Code conversation. If the value is not a valid session id, Claude Code logs a warning and records events under its own id instead.\n\n**Why**\n\nAn app connecting to Claude Code this way can now link a call's events to a particular session.\n\n- Area: MCP Serve\n- Names: `claude mcp serve`, `anthropic\/session`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}