Skip to main content

MCP server that wraps grpcurl

Project description

grpcurl MCP Server

MCP server that wraps grpcurl for calling gRPC APIs.

Tools

  • grpc_invoke — Execute a gRPC method. Parameters: url (required, e.g. host:443), endpoint (required, e.g. ProductService.GetProducts), payload (required, JSON request body).
  • grpc_list_services — List services available on a gRPC server. Parameters: url (required).

Requirements

Install grpcurl:

macOS (Homebrew)

brew install grpcurl

Linux

# Debian/Ubuntu
sudo apt install grpcurl

# Or download the latest binary from GitHub releases
curl -sSL https://github.com/fullstorydev/grpcurl/releases/latest/download/grpcurl_linux_x86_64.tar.gz | tar -xz
sudo mv grpcurl /usr/local/bin/

Windows (Scoop)

scoop install grpcurl

Go (any platform)

go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest

Verify the install:

grpcurl --version

Install

The recommended way is via uvx — no separate install step needed:

{
  "mcpServers": {
    "grpcurl": {
      "command": "uvx",
      "args": ["grpcurl-mcp"]
    }
  }
}

uvx fetches and runs the package from PyPI automatically.

Or install explicitly with pip:

pip install grpcurl-mcp

Claude Code setup

Run this command to register the server (one-time setup):

claude mcp add grpcurl -- uvx grpcurl-mcp

Or add it manually to your Claude Code MCP config (~/.claude/settings.json or project .claude/settings.json):

{
  "mcpServers": {
    "grpcurl": {
      "command": "uvx",
      "args": ["grpcurl-mcp"]
    }
  }
}

Cursor setup

Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-level) and add:

{
  "mcpServers": {
    "grpcurl": {
      "command": "uvx",
      "args": ["grpcurl-mcp"]
    }
  }
}

Then restart Cursor. Alternatively, use the UI: Cursor SettingsFeaturesMCP → add a new server with command uvx and arg grpcurl-mcp.

Local development

From the project root:

uv sync
uv run python main.py

For debugging with HTTP transport:

MCP_TRANSPORT=http uv run python main.py

Then connect to http://localhost:8000/mcp with the MCP Inspector.

Example prompts

  • List available services:
    "List gRPC services on grpc.example.com:443"

  • Fetch products by SKU:
    "Call ProductsView.GetProductsById on grpc.example.com:443 with SKUs ["SKU-001", "SKU-002"]"

  • Run a query:
    "Call ExampleService.GetProducts on grpc.example.com:443 with payload {"skus": ["SKU-001"]}"

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grpcurl_mcp-0.1.1.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grpcurl_mcp-0.1.1-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file grpcurl_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: grpcurl_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for grpcurl_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ab4ee37db72b6b8f6fa0f94faf379e2e152a6c25de7039058d29f19bdcb35f85
MD5 97db74c1a36e9e58a42b126e749fa854
BLAKE2b-256 d9439b52af52f9c36eeaa235b8714f0aa939bfc184ad046f9b6924c7cafedc39

See more details on using hashes here.

File details

Details for the file grpcurl_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: grpcurl_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for grpcurl_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7796a6d0144ea67d9fdd654d618f4e17338d1e7548e49642f5b940217591980
MD5 ed71f62a7dcdaa27047e50b35d8e30e4
BLAKE2b-256 555fe0f3b4d91dd454b00beb4c615da87d57d25549e64544b9f5f4e6f5c8c2b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page