MCPStudio testing
MCP

Studio testing

Inspect MCP tools locally and verify their transport with an MCP client.

Studio inspects a tool's contract and invokes its implementation inside your host. A successful Studio run does not prove that an external client can connect.

Enable local inspection

Extend Application service as a tool. Add Runiq.AI.Core, import Runiq.AI.Core, and register before builder.Build():

Program.cs
builder.Services.AddRuniqServer();

After building the app and before app.Run(), enable Studio for development:

Snippet
if (app.Environment.IsDevelopment())
{
    app.UseRuniqDashboard(options =>
    {
        options.Authentication(auth => auth.AllowAnonymous());
    });
}

Keep app.MapRuniqMcp(). Open /runiq on the host's local address.

Inspect and run

  1. Open MCP and find text_length.
  2. Check the description and required text parameter.
  3. Execute the input below.
  4. Confirm the returned value is 11.
JSON
{ "text": "Hello Runiq" }

Studio discovers loaded attributed types and invokes methods locally. Transport discovery scans the entry assembly by default; verify the client-facing list too.

Verify the actual connection

Connect an MCP-compatible client to the host's /mcp endpoint. List tools, find text_length, and call it with the same input.

This exercises the protocol, route, and client authentication. Studio's direct invocation does not exercise those boundaries.

SymptomCheck
Tool absent from clientEntry assembly, attributes, and endpoint address.
Listed tool failsService registration, input, and application logs.
Studio succeeds but client failsRouting, transport, and host access policy.
Different tool listsConfirm the same running host and discovery scope.

See Studio authentication for protecting inspection.

On this page