Anthropic | MCP Connector

Der MCP-(Model Context Protocol-)Connector ermöglicht es Claude, auf Tools von externen MCP-Servern zuzugreifen. Dies ermöglicht die Integration mit Drittanbieterdiensten und benutzerdefinierten Tool-Anbietern.

Hinweis: Der MCP-Connector erfordert den Beta-Header mcp-client-2025-11-20. Setzen Sie diesen in der Eigenschaft AnthropicOptions.BetaHeaders.

Einfaches Beispiel

Verwenden Sie die Convenience-Methode, um eine Nachricht mit einem MCP-Server zu erstellen.


Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'API_KEY';
Anthropic.AnthropicOptions.BetaHeaders := 'mcp-client-2025-11-20';

WriteLn(Anthropic._CreateMessageWithMCP('claude-sonnet-4-20250514',
  'What tools are available?',
  'https://my-mcp-server.example.com/sse',
  'my-mcp-server'));

Erweitertes Beispiel

Verwenden Sie die typisierten Klassen für die vollständige Kontrolle über die MCP-Server-Konfiguration, einschließlich der Authentifizierung.


Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'API_KEY';
Anthropic.AnthropicOptions.BetaHeaders := 'mcp-client-2025-11-20';

oRequest := TsgcAnthropicClass_Request_Messages.Create;
Try
  oRequest.Model := 'claude-sonnet-4-20250514';
  oRequest.MaxTokens := 4096;

  // Configure MCP server
  oServer := TsgcAnthropicClass_Request_MCPServer.Create;
  oServer.ServerType := 'url';
  oServer.Url := 'https://my-mcp-server.example.com/sse';
  oServer.Name := 'my-server';
  oServer.AuthorizationToken := 'OAUTH_TOKEN';  // Optional auth
  oServers := oRequest.MCPServers;
  SetLength(oServers, 1);
  oServers[0] := oServer;
  oRequest.MCPServers := oServers;

  // Add MCP toolset
  oTool := TsgcAnthropicClass_Request_Tool.Create;
  oTool.ToolType := 'mcp_toolset';
  oTool.MCPServerName := 'my-server';
  oTools := oRequest.Tools;
  SetLength(oTools, 1);
  oTools[0] := oTool;
  oRequest.Tools := oTools;

  // Add user message
  oMessage := TsgcAnthropicClass_Request_Message.Create;
  oMessage.Role := 'user';
  oMessage.Content := 'Search for recent news about AI.';
  oMessages := oRequest.Messages;
  SetLength(oMessages, 1);
  oMessages[0] := oMessage;
  oRequest.Messages := oMessages;

  oResponse := Anthropic.CreateMessage(oRequest);
  Try
    for i := 0 to Length(oResponse.Content) - 1 do
    begin
      if oResponse.Content[i].ContentType = 'text' then
        WriteLn(oResponse.Content[i].Text)
      else if oResponse.Content[i].ContentType = 'mcp_tool_use' then
        WriteLn(Format('MCP tool call: %s on %s',
          [oResponse.Content[i].Name, oResponse.Content[i].ServerName]));
    end;
  Finally
    oResponse.Free;
  End;
Finally
  oServer.Free;
  oTool.Free;
  oMessage.Free;
  oRequest.Free;
End;

MCP-Server-Eigenschaften

Response Content Types