SRI

SRI

MCP server inspector that reads a server's published source code and reports findings with file:line evidence, helping users assess what an MCP server does before connecting.

Category
Visit Server

README

SRI — MCP Server Inspector

Read what an MCP server does before you connect to it.

Connecting an MCP server hands it a channel into your agent's context and its tool calls. SRI reads the server's published source and reports what it found — every observation anchored to a file:line with the code quoted verbatim.

It does not tell you whether a server is safe. It tells you what the code does, and shows you the line it read. You decide.

  • Endpoint: https://sri-test.biz/mcp (Streamable HTTP)
  • Corpus: 2,238 MCP servers from the official registry
  • Price: free right now — settlement runs on Bitcoin signet, so invoices cannot be paid with real funds
  • Findings across the corpus: sri-test.biz/research

Add it to your client

Remote MCP server, no install, no API key.

{
  "mcpServers": {
    "sri": {
      "type": "http",
      "url": "https://sri-test.biz/mcp"
    }
  }
}

<details> <summary>Claude Code</summary>

claude mcp add --transport http sri https://sri-test.biz/mcp

</details>

<details> <summary>Anything that speaks Streamable HTTP</summary>

Point it at https://sri-test.biz/mcp. There is one tool and no auth. GET on that URL returns 405 — this server does not offer a server-initiated SSE stream, which the spec permits. Send JSON-RPC over POST. </details>

The tool

check_mcp_server

Argument Required Meaning
name yes Server name as published in the registry, e.g. io.github.firebase/firebase-mcp
version yes Exact version, e.g. 1.2.3
ecosystem no Always mcp; other ecosystems are not covered

Returns a risk_level, a summary, and a list of findings. Each finding carries location (file:line), evidence (the code, quoted), and why.

If the server is not in the corpus you get status: "queued", an explicit "nothing has been checked" — not a clean result — and no charge. We do not bill for an answer we could not give.

Try it without a client

curl -X POST https://sri-test.biz/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"check_mcp_server",
                 "arguments":{"name":"io.github.firebase/firebase-mcp","version":"0.3.0"}}}'

There is a plain REST endpoint too, if that is easier:

curl -X POST https://sri-test.biz/v1/verify \
  -H 'Content-Type: application/json' \
  -d '{"ecosystem":"mcp","name":"io.github.firebase/firebase-mcp","version":"0.3.0"}'

GET /v1/price is open and tells you the current terms. GET /v1/docs is the OpenAPI spec.

What gets reported

Category What it means
credential_access Reads environment credentials, tokens, or key files
network_egress Sends data to a host outside the package's own service
install_script Executes code at install time (postinstall, setup.py)
prompt_injection_surface Tool text or returned data that steers the agent toward actions unrelated to the tool's stated purpose
obfuscation Encoded strings decoded and executed
typosquat Name close to a well-known package, different publisher
excessive_permission Permissions beyond the declared purpose

Severity is info / low / medium / high. risk_level is the highest severity among the findings, derived in code rather than asked for — a verdict with no findings behind it cannot be published.

What this is not

  • No finding is not a clean bill of health. It means nothing was found in the categories above, in the code we could fetch.
  • We never label a package malicious, and never call one safe. The ingest step rejects records whose summary contains either kind of claim.
  • MCP servers only. npm and PyPI libraries are out of scope; ask about one and you will get "not analyzed".
  • One analyzer, one pass. Run-to-run agreement measured at 93% on a hand-labelled set of 84 servers before the full corpus was built. Not 100%.

If a finding is wrong

If you maintain a server and a finding is mistaken, tell us through the report form. Agents can use POST /v1/disputes.

We reply within three business days. While we review, the finding may be withheld from results. If we withdraw it, the server is re-analysed and the record replaced. If we keep it, we say which facts it rests on.

Payment

The paid path is L402 (Lightning HTTP 402): the server issues an invoice and a macaroon, you pay, and you present Authorization: L402 <macaroon>:<preimage>. Verification is sha256(preimage) == payment_hash — no node required on your side, and no signup on ours.

This is switched off today. Settlement runs on signet, a test chain, so invoices cannot be paid with real funds and usage is free. When mainnet is enabled the price returns to $0.20 per cached lookup. GET /.well-known/l402 tells you the current state.

Privacy

We record the path requested, response time, User-Agent, and an IP hashed with a daily salt, kept for 90 days. Raw IP addresses are never stored, and request bodies are never stored — the servers you ask about are recorded by name, nothing more.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured