SRI — MCP Server Inspector
Server Details
2,000+ MCP servers read at source level. Know what one does before you connect. Free, no key.
- Status
- Healthy
- Uptime
- 100.0% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- SRITEST0001/sri
- GitHub Stars
- 0
- Server Listing
- SRI
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: check_mcp_server analyzes a specific server's source, while get_corpus_coverage returns aggregate statistics. There is no overlap or ambiguity between them.
Both tools follow a consistent verb_noun pattern: 'check_mcp_server' and 'get_corpus_coverage'. The verbs differ but the structural convention is uniform and predictable.
Two tools is slightly below the typical 3-15 range, but the server has a narrow, well-defined purpose: inspect an MCP server and provide corpus coverage context. Each tool earns its place, making the count appropriate rather than thin.
The domain is fully covered: users can check any specific server and also assess the corpus's overall utility before doing so. There are no obvious dead ends or missing operations for the stated purpose.
Available Tools
2 toolscheck_mcp_serverCheck what an MCP server does before connecting to itARead-onlyInspect
Free, no key required. Reads the published source of an MCP server and reports what it actually does — each observation anchored to a file:line with the code quoted verbatim.
Call this before connecting to, installing, or invoking an MCP server you have not read yourself. Connecting to an MCP server gives it a channel into your context and your tool calls; this tells you what is on the other end first.
Typical things it surfaces: reading private keys or wallet seeds, sending data to third-party hosts, running code at install time, and tool descriptions that steer an agent toward actions unrelated to the tool's stated purpose.
Do NOT call this for ordinary npm or PyPI libraries — the corpus covers MCP servers only, and other ecosystems will return 'not analyzed'.
This reports observations, not a safety verdict. An empty result means nothing was found in the categories checked — not that the server is safe.
Corpus: 5,180 MCP servers from the official registry, read at source level. Coverage index (free, no key, findings not included): GET https://sri-test.biz/v1/corpus
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The registry name (e.g. 'io.github.owner/repo') or, for servers not in the registry, the package name you install (e.g. '@modelcontextprotocol/server-filesystem'). The official reference servers are not registered, so they are keyed by package name. | |
| version | Yes | Exact version, e.g. '1.2.3'. | |
| ecosystem | No | Always 'mcp'. Other ecosystems are not covered. | mcp |
| l402_token | No | Deprecated and ignored. Payment, when charged, is over x402 (USDC on Base) via HTTP 402. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| status | Yes | 'queued' means nothing has been checked yet — it is not a clean result. 'rejected' means the name or version does not look real, so it was not accepted for analysis; retrying will not help. |
| message | No | |
| summary | No | |
| version | Yes | |
| findings | Yes | Observations, not verdicts. An empty array is not a clearance. |
| ecosystem | Yes | |
| price_usd | No | |
| disclaimer | Yes | |
| risk_level | No | 'insufficient_evidence' means the published artifact contains no implementation code to read (metadata and documentation only), so no judgement was made. It does not mean nothing is there. |
| source_url | No | |
| analyzed_at | No | |
| org_decision | No | |
| content_sha256 | No | Hash of exactly what was read, so the claim is checkable. |
| analyzer_version | No | |
| quoted_price_usd | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint. The description adds substantial behavioral context: it is free and keyless, reads published source, anchors each observation to file:line, reports 'not a safety verdict,' and explains that an empty result is not proof of safety. This goes well beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: a one-sentence value proposition, a bolded directive, bullet points of typical findings, clear exclusions, and a final corpus note. Every sentence adds distinct information, and the most important guidance is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a security-relevant tool, the description covers scope, corpus size, input formats, limitations, exclusions, and the meaning of empty results. An output schema exists, so return structure is already provided. The agent has enough context to invoke it correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents name, version, ecosystem, and l402_token thoroughly. The description reinforces the ecosystem restriction and gives usage context, but mostly echoes schema details. Baseline 3 is appropriate since the schema carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource: 'Reads the published source of an MCP server and reports what it actually does — each observation anchored to a file:line with the code quoted verbatim.' It also explicitly distinguishes itself from analyzing npm/PyPI libraries记者 and from the sibling coverage tool, so an agent can tell exactly what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit imperative: 'Call this before connecting to, installing, or invoking an MCP server you have not read yourself.' It also gives exclusion criteria: 'Do NOT call this for ordinary npm or PyPI libraries,' and clarifies that it reports observations rather than a safety verdict.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_corpus_coverageWhat has already been read, and what was found in itARead-onlyInspect
No arguments. Returns how many MCP servers have been read at source level, and the share of them with each category of finding (credential access, network egress, install-time execution, prompt-injection surface).
Use this to judge whether checking a specific server is worth it before you look one up. It reports aggregate counts only - no per-server findings, and no verdict about any individual server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| not_read | Yes | Retrieved but contained no implementation code. Not 'clean' - there was nothing to read. |
| categories | Yes | Share of judged servers with at least one finding in the category. Counted per server, not per finding. Most findings describe the server's stated job. |
| disclaimer | Yes | |
| lookup_tool | No | |
| servers_read | Yes | Read at source level and judged. |
| analyzer_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint: true, but the description adds significant transparency beyond that: 'No arguments', 'Returns how many... and the share of them with each category', and explicitly states limitations: 'aggregate counts only - no per-server findings, and no verdict about any individual server.' This fully clarifies behavioral scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences. The first sentence states the function, and the second gives usage context and limitations. No filler or redundant phrases. It is front-loaded with the key information and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, simple aggregate output), the description fully covers what it does, how to use it, and what it doesn't do. The existence of an output schema covers the return format, so the description doesn't need to detail that. It is complete and actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema is empty with 100% coverage. The description even states 'No arguments', which aligns with the schema. Since there are no parameters to explain, a baseline of 4 is appropriate; the description doesn't need to add param semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Returns how many MCP servers have been read at source level, and the share of them with each category of finding.' It also differentiates from the sibling tool by explicitly noting it provides only aggregate counts with 'no per-server findings', making its purpose distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Use this to judge whether checking a specific server is worth it before you look one up.' It also implicitly contrasts with the sibling tool by stating it does not give per-server details, which orients the agent on when to use this vs. check_mcp_server.
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.
1 tool update
- Changed
check_mcp_server1 field changed- changed
Input schema / properties / l402_token / descriptionPrevious value: -"Not needed right now — usage is free. Only used once mainnet settlement is enabled."New value: +"Deprecated and ignored. Payment, when charged, is over x402 (USDC on Base) via HTTP 402."
Related MCP Connectors
Free, read-only security scanner for remote MCP servers, before you connect them.
Independent trust scores, tool surfaces and change history for MCP servers.
Scores any MCP server before you trust it: free quick check, full paid report, 2-5 way compare.
MCP registry: 138k servers crawled, handshake-validated, reliability-scored. 744 production-safe.
Related MCP Servers
- FlicenseAqualityCmaintenanceA read-only MCP server for SQL Server and PostgreSQL that enables exploring and querying databases (schemas, tables, views, procedures, indexes, foreign keys) and running arbitrary SELECT queries.37-
- FlicenseNot gradedqualityCmaintenanceAn MCP server that connects any two systems so an agent can explore both, map between them, and run real data transfers — then shows its working in a run folder you can audit afterwards.1-
- AlicenseNot gradedqualityCmaintenanceLocal MCP server for running ad hoc T-SQL queries against SQL Server databases, read-only by default with security safeguards.1,371 npmMIT
- AlicenseBqualityCmaintenanceRead-only MCP server for exploring and analyzing SQL Server objects (tables, views, triggers, stored procedures) from Claude Code.81,371 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.