Invite-only.
Connect

Semantic Kernel

Semantic Kernel (.NET and Python) imports MCP servers as Kernel plugins. Dock becomes a callable plugin for any skill function the kernel runs.

Client
Semantic Kernel
Microsoft's .NET + Python orchestrator. MCP via plugin.
HTTP JSON-RPC (streamable-http)
Dock MCP
trydock.ai/api/mcp
37 tools · OAuth 2.1 + DCR · Bearer
Auth path
1
Mint a dk_ key in Dock Settings → API keys.
2
Paste it as Authorization: Bearer dk_… in the client config.
3
Client calls Dock MCP directly on every request.

Prerequisites

  • .NET 8+ or Python 3.10+ with semantic-kernel and its MCP extra installed.
  • A Dock dk_ key.
Pythonpython
from semantic_kernel import Kernel
from semantic_kernel.connectors.mcp import MCPStreamableHttpPlugin

kernel = Kernel()

dock = MCPStreamableHttpPlugin(
    name="dock",
    url="https://trydock.ai/api/mcp",
    headers={"Authorization": f"Bearer {os.environ['DOCK_API_KEY']}"},
)
await dock.connect()
kernel.add_plugin(dock, plugin_name="dock")
.NETcsharp
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.MCP;

var kernel = Kernel.CreateBuilder().Build();

await kernel.Plugins.AddFromMcpStreamableHttpServer(
    "dock",
    new Uri("https://trydock.ai/api/mcp"),
    new Dictionary<string, string>
    {
        ["Authorization"] = $"Bearer {Environment.GetEnvironmentVariable("DOCK_API_KEY")}"
    }
);

Troubleshooting

Symptom
Fix
Plugin name collisions
SK scopes functions by plugin name. Keep Dock's plugin name as dock so tool calls are unambiguous.

Related