Skip to main content
Glama
friendlygeorge

@supernova123/grpc-mcp-server

@supernova123/grpc-mcp-server

Connect AI agents to any gRPC service — no proto files needed.

Most gRPC services are invisible to AI tools. This MCP server uses gRPC Server Reflection to auto-discover services, methods, and types at runtime, then exposes them as callable tools for Claude, Cursor, and any MCP-compatible agent.

Why This Matters

gRPC powers Kubernetes, Istio, Envoy, and thousands of microservices — but AI agents can't talk to any of them. Until now, you'd need to manually define proto schemas, generate clients, and wire everything together. This server does it automatically: point it at any gRPC endpoint with reflection enabled, and it discovers everything.

Use cases:

  • Debug microservices by invoking RPCs directly from Claude

  • Inspect live service meshes (Istio, Envoy) without kubectl

  • Build AI-powered ops tools that query gRPC health endpoints

  • Prototype API integrations without writing client code

  • Test gRPC services during development with natural language

Related MCP server: gRPC Invoke MCP

Tools

Tool

Description

connect_endpoint

Connect to a gRPC server and auto-discover all services via reflection

list_services

List every gRPC service on the connected endpoint

list_methods

List all RPC methods for a service (unary, server-stream, client-stream, bidi)

get_service_descriptor

Get full service schema: methods, request/response types, streaming modes

invoke_rpc

Call any RPC method with a JSON-serialized request body

health_check

Standard gRPC Health Checking Protocol (v1)

disconnect

Clear cached service data and disconnect

Quick Start

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "grpc": {
      "command": "npx",
      "args": ["-y", "@supernova123/grpc-mcp-server"],
      "env": {
        "GRPC_ENDPOINT": "localhost:50051"
      }
    }
  }
}

Cursor / VS Code

{
  "mcp": {
    "servers": {
      "grpc": {
        "command": "npx",
        "args": ["-y", "@supernova123/grpc-mcp-server"],
        "env": {
          "GRPC_ENDPOINT": "localhost:50051"
        }
      }
    }
  }
}

Direct

npx @supernova123/grpc-mcp-server

Example Usage

  1. Connect to a gRPC server:

    connect_endpoint(endpoint="localhost:50051")
  2. Discover available services:

    list_services()
  3. Inspect a service's methods:

    list_methods(service_name="grpc.health.v1.Health")
  4. Invoke an RPC:

    invoke_rpc(
      service_name="grpc.health.v1.Health",
      method_name="Check",
      request={"service": ""}
    )

Environment Variables

Variable

Description

Default

GRPC_ENDPOINT

Target gRPC endpoint (host:port)

(none — use connect_endpoint)

GRPC_TIMEOUT_MS

Request timeout in milliseconds

10000

GRPC_USE_TLS

Enable TLS connections

false

Requirements

Most gRPC servers have reflection enabled in development. For production servers, ensure grpc.reflection.V1Reflection is registered.

How It Works

  1. Connects to your gRPC endpoint via the reflection API

  2. Fetches the full service descriptor (services → methods → types)

  3. Dynamically generates MCP tool definitions from the schema

  4. Invokes RPCs by serializing JSON requests to protobuf and back

No proto files. No code generation. No compile step.

License

MIT

Available Tools

7 tools
connect_endpointB

Connect to a gRPC server endpoint and discover available services via server reflection

ParametersJSON Schema
NameRequiredDescriptionDefault
endpointYesgRPC endpoint address (e.g. localhost:50051)
use_tlsNoWhether to use TLS (default: false)
timeout_msNoConnection timeout in ms (default: 10000)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions connecting and discovering services but lacks details on return values, side effects (e.g., persistent connection state), error handling, or authentication needs. The timeout behavior is implied by the schema but not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the main action ('Connect') and includes the key purpose ('discover available services'). It contains no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite good conciseness, the description lacks crucial context for a tool with no output schema and no annotations. It does not explain the return value (e.g., list of services?), connection state persistence, or how to handle errors. This leaves significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are well-described in the input schema (endpoint, use_tls, timeout_ms). The description adds no additional meaning beyond what the schema already provides. With 100% schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: connecting to a gRPC server endpoint and discovering available services via server reflection. It uses a specific verb (connect) and resource (gRPC server endpoint), and differentiates from sibling tools like 'disconnect' (opposite) and 'list_services' (which may require prior connection).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage context (connecting and discovering services) but does not explicitly state when to use this tool versus alternatives like 'health_check' or 'list_methods'. No when-not or prerequisite guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

disconnectA

Disconnect from the current gRPC endpoint and clear cached service data

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly states the primary action (disconnect) and a side effect (clear cached data). While it could mention safety aspects (e.g., pending requests), for a simple tool it is sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the key action and includes the important side effect. Every phrase adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and a simple action, the description fully covers what the tool does. It explains both the disconnect action and the cache clearing, which is sufficiently complete for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema coverage is 100%, so the description has no additional parameter info to add. The baseline of 4 applies as the description does not need to go beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Disconnect' and states the resource ('current gRPC endpoint') and additional action ('clear cached service data'). It clearly distinguishes from sibling tools like 'connect_endpoint'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (when disconnecting is needed) but does not provide explicit guidance on when not to use or mention alternatives. It is adequate but lacks explicit when-to-use/when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_service_descriptorA

Get the full descriptor for a gRPC service including all methods, request/response types, and streaming modes

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYesFull service name (e.g. grpc.health.v1.Health)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It states the tool returns a descriptor, but does not disclose that it is read-only, requires an active connection, or any other behavioral traits (e.g., rate limits, auth needs). Incomplete for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with clear subject, verb, and scope. No unnecessary words; every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple lookup tool but missing context about prerequisites (e.g., requiring an active connection via connect_endpoint). No output schema exists, so description could mention return format more explicitly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter 'service_name' with schema description providing example format. Tool description does not add additional parameter guidance beyond what schema already provides. Schema coverage is 100%, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it retrieves the full descriptor for a gRPC service, listing what's included (methods, types, streaming modes). Distinguishes from siblings like list_services (which lists names only) and list_methods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use when full descriptor is needed, but no explicit guidance on when to use this vs alternatives like list_services or list_methods. No when-not-to-use or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkB

Check gRPC server health using the standard Health Checking Protocol

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNoService name to check (empty string = overall server health)
timeout_msNoTimeout in ms (default: 5000)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavioral traits. It does not state that this is a read-only operation, what happens on failure (e.g., exception or status), or any side effects. The description is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no filler, front-loaded with key information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description does not explain return values or error handling. For a health check tool, agents need to know what the response looks like (e.g., status string). Also, parametric guidance on when to use empty string vs specific service is only in schema, not in description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear parameter descriptions. The tool description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (check), resource (gRPC server health), and method (standard Health Checking Protocol). It effectively distinguishes from sibling tools like invoke_rpc or get_service_descriptor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. Does not mention when-not-to-use or prerequisites. Given sibling tools like connect_endpoint or invoke_rpc, an agent may need context on when health checking is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invoke_rpcC

Invoke a gRPC method with a JSON-serialized request body

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYesFull service name (e.g. grpc.health.v1.Health)
method_nameYesMethod name (e.g. Check)
requestNoJSON-serialized request body as an object
timeout_msNoCall timeout in ms (default: 10000)
metadataNoOptional gRPC metadata as key-value pairs

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It mentions no side effects, authorization requirements, error handling, or idempotency. The tool is for invoking methods, which may be destructive or have side effects, but nothing is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that conveys the core purpose without redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, no output schema, no annotations) the description is too brief. It omits context like the need for a prior connection, return value structure, or error handling, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all parameters with descriptions (100% coverage), so the description adds no value. It does not clarify the exact format of the 'request' parameter or how to use 'metadata' beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('invoke a gRPC method') and format ('JSON-serialized request body'). It distinguishes the tool from siblings that manage connections or list services, but does not explicitly differentiate from similar tools like health_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus others, nor any prerequisites (e.g., need to connect first) or caveats. The description only states what it does, not when or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_methodsB

List all methods for a specific gRPC service

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYesFull service name (e.g. grpc.health.v1.Health)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility. It only states the basic action, failing to disclose behavioral traits such as whether the service must be connected, error cases, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is front-loaded and immediately conveys the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description is adequate but incomplete. It does not explain what 'methods' refers to or what the output format is, which could be important given sibling tools like invoke_rpc.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already describes the parameter. The description adds no extra meaning beyond 'Full service name (e.g. grpc.health.v1.Health)', so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all methods for a specific gRPC service' clearly states the action (List), the resource (methods), and the scope (for a specific service). It effectively distinguishes from sibling tools like list_services and get_service_descriptor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or context for choosing list_methods over sibling tools like get_service_descriptor or invoke_rpc.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_servicesA

List all gRPC services discovered via server reflection on the connected endpoint

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral disclosure. It mentions 'discovered via server reflection' which hints at dynamic discovery, but does not clarify what happens if no endpoint is connected (e.g., empty list vs error), whether results are cached, or any performance implications. This leaves significant ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no wasted words. It front-loads the key action and resource, achieving maximum conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters, no output schema), the description is mostly complete. It explains the source ('server reflection') and scope ('all gRPC services'). However, it could mention the return format (e.g., list of service names) or error cases (e.g., not connected). Overall adequate but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the schema coverage is 100%. The description adds no additional parameter information, but none is needed. A baseline score of 4 is appropriate since there is nothing missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'List' and specifies the resource 'gRPC services discovered via server reflection on the connected endpoint'. It clearly distinguishes from sibling tools like get_service_descriptor (which retrieves details for a specific service) and list_methods (which lists methods within a service).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not state prerequisites (e.g., a connected endpoint) or that it only works after connect_endpoint has been called. The context of sibling tools implies differentiation but the description fails to make it explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv0.1.0
    • First observedconnect_endpoint
    • First observeddisconnect
    • First observedget_service_descriptor
    • First observedhealth_check
    • First observedinvoke_rpc
    • First observedlist_methods
    • First observedlist_services

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: connection management, service discovery, health checking, and invocation. There is no overlap in functionality.

Naming Consistency5/5

All tools use consistent snake_case with a verb_noun pattern (e.g., connect_endpoint, list_services, invoke_rpc). The pattern is uniform and descriptive.

Tool Count5/5

Seven tools is an ideal size for a gRPC MCP server, covering all core operations without being excessive or insufficient.

Completeness4/5

The tool set covers the full lifecycle: connect, discover, inspect, health check, invoke. Minor gap: explicit support for streaming modes could be clarified, but overall complete.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    F
    maintenance
    MCP server that exposes 300+ AI agents as tools via a single API key. Supports listing agents, invoking any agent with chat-completion style messages, checking agent health, and retrieving platform statistics.
    5
    3
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for calling gRPC methods from AI agents, enabling them to inspect gRPC APIs and invoke unary RPCs using server reflection or local .proto files.
    59
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/friendlygeorge/grpc-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server