Kaya.McpServer 1.0.0

dotnet tool install --global Kaya.McpServer --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Kaya.McpServer --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Kaya.McpServer&version=1.0.0
                    
nuke :add-package Kaya.McpServer --version 1.0.0
                    

Kaya.McpServer

MCP stdio server for invoking HTTP APIs, gRPC methods, and SignalR hubs through Kaya explorers.

Kaya.McpServer relies on the following packages in the target application:

Without at least one of these packages configured and running, Kaya.McpServer cannot invoke HTTP/gRPC/SignalR operations.

Install

dotnet tool install -g Kaya.McpServer

Configuration

Use environment variables as the default configuration method.

Variable Description Default
KAYA_API_BASE_URL Base URL for HTTP invocations http://localhost:5000
KAYA_GRPC_PROXY_BASE_URL Base URL for Kaya gRPC proxy endpoints http://localhost:5000
KAYA_SIGNALR_DEBUG_ROUTE Route prefix for Kaya SignalR debug endpoints /kaya-signalr
KAYA_MCP_CONFIG Optional path to JSON config file with URL defaults not set

Host Setup (Copilot / Cursor / Claude)

All MCP hosts need the same stdio command shape:

{
  "command": "kaya-mcp",
  "env": {
    "KAYA_API_BASE_URL": "http://localhost:5121",
    "KAYA_GRPC_PROXY_BASE_URL": "http://localhost:5121",
    "KAYA_SIGNALR_DEBUG_ROUTE": "/kaya-signalr"
  }
}

For hosts that use an mcpServers map (Cursor, Claude Desktop, and similar), use:

{
  "mcpServers": {
    "kaya": {
      "command": "kaya-mcp",
      "env": {
        "KAYA_API_BASE_URL": "http://localhost:5121",
        "KAYA_GRPC_PROXY_BASE_URL": "http://localhost:5121",
        "KAYA_SIGNALR_DEBUG_ROUTE": "/kaya-signalr"
      }
    }
  }
}

Install In VS Code GitHub Copilot

  1. Install the tool globally (when published):
dotnet tool install -g Kaya.McpServer
  1. If not yet published, use dotnet project execution in workspace mcp.json.

  2. In VS Code, use workspace MCP config at .vscode/mcp.json (included in this repo), or run MCP: Add Server.

  3. Reload VS Code window and trust/start the kaya server when prompted.

  4. In chat, open tools and verify kaya tools are available.

Workspace mcp.json used in this repo (no external config file):

{
  "servers": {
    "kaya": {
      "type": "stdio",
      "command": "kaya-mcp",
      "args": [],
      "env": {
        "KAYA_API_BASE_URL": "http://localhost:5121",
        "KAYA_GRPC_PROXY_BASE_URL": "http://localhost:5121",
        "KAYA_SIGNALR_DEBUG_ROUTE": "/kaya-signalr"
      }
    }
  }
}

Install In Cursor

Add this server in Cursor MCP settings:

{
  "mcpServers": {
    "kaya": {
      "command": "kaya-mcp",
      "env": {
        "KAYA_API_BASE_URL": "http://localhost:5121",
        "KAYA_GRPC_PROXY_BASE_URL": "http://localhost:5121",
        "KAYA_SIGNALR_DEBUG_ROUTE": "/kaya-signalr"
      }
    }
  }
}

Install In Claude Code

If your Claude Code version supports CLI registration:

claude mcp add kaya --env KAYA_API_BASE_URL=http://localhost:5121 --env KAYA_GRPC_PROXY_BASE_URL=http://localhost:5121 -- kaya-mcp

Otherwise add the same mcpServers JSON entry in Claude MCP configuration.

Available MCP Tools

  • http_invoke
  • grpc_invoke
  • grpc_stream_start
  • grpc_stream_send
  • grpc_stream_events
  • grpc_stream_end
  • signalr_hubs
  • signalr_connect
  • signalr_subscribe
  • signalr_invoke
  • signalr_events
  • signalr_logs
  • signalr_disconnect

Optional JSON Config File

If you prefer file-based configuration instead of env vars:

{
  "apiBaseUrl": "http://localhost:5121",
  "grpcProxyBaseUrl": "http://localhost:5121",
  "signalrDebugRoute": "/kaya-signalr"
}

Use it with:

kaya-mcp --config /absolute/path/to/kaya.mcp.config.json

SignalR Prerequisites (App Side)

To make SignalR MCP tools work, your application needs:

  1. SignalR enabled and hubs mapped:
builder.Services.AddSignalR();
app.MapHub<NotificationHub>("/hubs/notification");
app.MapHub<ChatHub>("/chat");
  1. Kaya SignalR debug enabled if you want hub discovery (signalr_hubs):
builder.Services.AddKayaApiExplorer(options =>
{
  options.SignalRDebug.Enabled = true;
  options.SignalRDebug.RoutePrefix = "/kaya-signalr";
});

app.UseKayaApiExplorer();
  1. CORS and auth configured for your client scenario.
  • For local development and cross-origin clients, allow the required origins/headers.
  • For authenticated hubs, pass auth headers in signalr_connect (headers JSON object), for example Bearer token.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.0 115 3/14/2026

Version 1.0.0: Initial MCP server release with HTTP, gRPC (unary and streaming), and SignalR invocation tools for MCP hosts such as Copilot, Cursor, and Claude.