Interface McpServerDefinitionProvider<T>

A type that can provide Model Context Protocol server definitions. This should be registered using lm.registerMcpServerDefinitionProvider during extension activation.

interface McpServerDefinitionProvider<T> {
    onDidChangeMcpServerDefinitions?: Event<void>;
    provideMcpServerDefinitions(token): ProviderResult<T[]>;
    resolveMcpServerDefinition?(server, token): ProviderResult<T>;
}

Type Parameters

Properties

onDidChangeMcpServerDefinitions?: Event<void>

Optional event fired to signal that the set of available servers has changed.

Methods

  • Provides available MCP servers. The editor will call this method eagerly to ensure the availability of servers for the language model, and so extensions should not take actions which would require user interaction, such as authentication.

    Parameters

    Returns ProviderResult<T[]>

    An array of MCP available MCP servers

  • This function will be called when the editor needs to start a MCP server. At this point, the extension may take any actions which may require user interaction, such as authentication. Any non-readonly property of the server may be modified, and the extension should return the resolved server.

    The extension may return undefined to indicate that the server should not be started, or throw an error. If there is a pending tool call, the editor will cancel it and return an error message to the language model.

    Parameters

    Returns ProviderResult<T>

    The resolved server or thenable that resolves to such. This may be the given server definition with non-readonly properties filled in.