# Mastra.getMCPServerById()

The `.getMCPServerById()` method retrieves an MCP server instance by its intrinsic `id` property. For retrieving by registry key (the key used in configuration), use `.getMCPServer()` instead.

## Usage example

```typescript
// Register an MCP server with a registry key
const myServer = new MCPServer({
  id: 'my-mcp-server',
  name: 'My Server',
  version: '1.0.0',
  tools: {
    /* ... */
  },
})

export const mastra = new Mastra({
  mcpServers: {
    customKey: myServer, // 'customKey' is the registry key
  },
})

// Retrieve by intrinsic ID
const server = mastra.getMCPServerById('my-mcp-server')

// Alternatively, retrieve by registry key
const serverByKey = mastra.getMCPServer('customKey')
```

## Parameters

**serverId** (`string`): The intrinsic id property of the MCP server (set when the server was instantiated).

**version** (`string`): Optional. If provided, returns the server only if its version matches.

## Returns

**server** (`MCPServerBase | undefined`): The MCP server instance with the specified id (and version, if provided), or undefined if not found.

## Notes

- The server's `id` is slugified during construction, so `'myMcpServer'` becomes `'my-mcp-server'`
- If multiple servers have the same `id` but different versions, you must provide the `version` parameter to disambiguate
- If no `version` is provided and multiple versions exist, the method returns the first match

## Related methods

- [Mastra.getMCPServer()](https://mastra.ai/reference/core/getMCPServer): Retrieve an MCP server by its registry key
- [Mastra.listMCPServers()](https://mastra.ai/reference/core/listMCPServers): List all registered MCP servers

## See also

- [MCP overview](https://mastra.ai/docs/mcp/overview)
- [MCP server reference](https://mastra.ai/reference/tools/mcp-server)