fiddler-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a clearly distinct purpose: opening the archive, listing sessions, inspecting a single session, filtering by criteria, computing statistics, ranking slow requests, and security scanning. Even the overlapping list/filter tools are differentiated by filtering vs. plain pagination, and slow_requests is a specific ranking view.
Naming Consistency4/5Most tools follow a verb_noun pattern (open_archive, list_sessions, get_session, filter_sessions), but session_stats, slow_requests, and security_scan use descriptive noun phrases rather than imperative verbs. All names are snake_case and readable, so the deviation is minor.
Tool Count5/5Seven tools is well-scoped for a Fiddler archive analysis server. Each tool earns its place, covering the full range of archive inspection and analysis without redundancy or bloat.
Completeness5/5The toolset covers the complete analysis workflow: loading/parsing the archive, listing sessions, deep inspection, filtering/searching, aggregate statistics, performance ranking, and security scanning. Minor potential gaps like archive comparison or export are not core to the domain.
Average 4.1/5 across 7 of 7 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 5 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden. It discloses the types of statistics computed, implying a read-only analysis, but does not explicitly state side-effect freedom, output format, or whether an archive must already be opened. It provides some behavioral context beyond the schema but lacks full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear first sentence and a compact args block. It avoids redundancy and front-loads the primary purpose. Minor structure improvement possible, but no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stats tool with no output schema, the description lists key outputs but omits prerequisites (e.g., whether the file must be opened via open_archive) and return format details. It is sufficient for basic invocation but leaves context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description compensates with an Args section explaining saz_path as 'Path to the .saz file.' This adds necessary meaning but is minimal—does not specify path format, whether it accepts URLs, or file requirements. Adequate for a single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Aggregate statistics' with specific breakdowns (method/status/host distribution, traffic volume, duration percentiles, error samples), which distinguishes it from sibling tools like list_sessions or get_session. It specifies the input (.saz file) and the analytical nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention that this is for summary overview vs. slow_requests for latency analysis, or list_sessions for raw sessions. No exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It discloses what the scan looks for but does not mention side effects, output format, potential performance implications, or whether the operation is read-only. This leaves significant behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the primary purpose, then lists arguments and their meanings. Every sentence contributes meaningful information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and parameters but does not describe the output/report structure, error handling, or any prerequisites (e.g., if the .saz file must be opened first). Since no output schema exists, this missing return-value information leaves the agent without a complete picture of what the tool produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are explained in the description: saz_path is the path to the .saz file, and max_findings is a cap on reported findings with an explicit range (1-2000). Since the schema provides no descriptions (0% coverage), the description fully compensates and adds clear semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans traffic for security issues and enumerates specific categories (cleartext credentials, secret tokens, cookie flags, sensitive files, PII leakage). This is a specific verb+resource that distinguishes it from sibling tools focused on session browsing and statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the stated purpose: use when you need to identify security issues in captured traffic. However, there is no explicit when-to-use-or-when-not-to-use guidance, nor any comparison to alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/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 of behavioral disclosure. It adds valuable specifics: case-insensitive substring matches, Python regex syntax with max length 200, decoded body search, and inclusive ranges for size/duration. However, it does not explicitly state that the operation is read-only, nor does it describe the return format or result ordering, which is a notable gap for a tool with no annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single-purpose opening line followed by a compact argument list. Every line earns its place, with no redundant text or filler. The structure is front-loaded with the tool's purpose, then parameter details, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 20 parameters, no output schema, and no annotations, the description covers parameter semantics comprehensively, but it omits return value details, default limit, and any ordering behavior. It is sufficiently complete for invocation, yet slightly short on post-invocation expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by explaining every parameter with concrete semantics: host as substring match, method case-insensitive, regex constraints, range behavior, and limit maximum. This goes well beyond the bare schema titles and provides actionable meaning for each of the 20 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Search/filter sessions by...' which clearly names the action (search/filter) and resource (sessions), and enumerates the full set of filtering dimensions. This distinguishes it from siblings like list_sessions (which lists all) and get_session (which fetches a single session), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage—any time filtered session lookup is needed—but it does not explicitly state when to prefer this over alternatives like list_sessions or slow_requests, nor does it mention exclusions or prerequisites. The context is clear but the guidance is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It explains the ranking metric and parameter constraints (top_n range, min_ms threshold) but does not mention whether the operation is read-only, any dependencies on opening an archive first, or what the output format looks like. Thus, transparency is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: a single sentence stating the purpose followed by a clean argument list. Every sentence serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description covers the core purpose, parameters, and the specific metric. However, it omits any mention of prerequisites (e.g., whether an archive must be opened via open_archive) and the expected result format, leaving some gaps for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully by documenting each parameter: saz_path as the .saz file path, top_n with a 1-100 range, and min_ms as a threshold. This adds meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ranks sessions by total duration with a precise formula (Fiddler TOTAL = ClientDoneResponse - ClientBeginRequest). This distinguishes it from sibling tools like list_sessions or filter_sessions which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for identifying slowest sessions but does not explicitly state when to use it versus alternatives, nor does it mention when not to use it. There is no reference to sibling tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the saz file is parsed on first use and explains pagination behavior. However, with no annotations provided, it does not mention whether the operation is read-only, what errors may occur, or how the response is structured. This is partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, front-loading the main purpose in one sentence, followed by a clear, structured argument list. Every word earns its place, with no repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description enumerates the fields returned (method, URL, status, duration, size, process) and explains pagination. Since there is no output schema, this gives a good sense of the return content, though it omits the exact response envelope (e.g., whether pagination metadata is included). For a simple list tool, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions (0% coverage), but the description's Args block explains all three parameters in plain language, including the meaning of saz_path, the range for limit (1-500), and how offset works. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists sessions with specific fields (method, URL, status, duration, size) and pagination. The verb 'List' plus the resource 'sessions' distinguishes it from siblings like get_session (single session) and filter_sessions (filtered).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this to list sessions with pagination and provide a saz_path. It does not explicitly mention exclusions or alternatives, but the pagination and listing purpose are unambiguous. Sibling names further imply when to use other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: archives are cached, and reload=true forces re-parsing. This is valuable runtime context beyond the basic action. However, it does not specify the exact content of the 'overview' or mention any potential errors, but the caching disclosure is a significant addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the primary purpose, then adds a caching note, and ends with a concise parameter list. Every sentence contributes unique value; there is no fluff or redundancy. The structure is clean and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what the return value includes. It says 'return an overview' but does not specify whether it provides session count, duration, capture metadata, etc. This is a notable gap. Additionally, it doesn't mention failure modes (e.g., invalid path) or how the cached data integrates with sibling tools. For a simple tool, it is mostly complete but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only types and titles with no descriptions (0% coverage), but the description fully compensates with a clear Args section explaining saz_path as the file path and reload as a re-read flag. This adds meaning beyond the schema and clarifies the purpose of each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Parse a Fiddler .saz archive and return an overview.' This uses a specific verb ('parse') and resource ('.saz archive'), and the overview concept differentiates it from sibling tools that operate on sessions. The purpose is unambiguous and distinct from list_sessions, get_session, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates this is the entry point for working with archives, as it mentions parsing and caching, while siblings operate on sessions. However, it does not explicitly state when to use this tool versus alternatives, such as 'Use this first to load an archive before filtering sessions.' The context is clear but lacks explicit exclusions or comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses return contents, the unredacted nature, and the body truncation behavior. However, it does not explicitly state whether the tool has side effects or modifies the archive, though the 'get' verb implies read-only. It also does not discuss error behavior for invalid indices or missing files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a one-sentence summary, a short differentiator, and a clear Args list. Every sentence adds value, information is front-loaded, and the format makes scanning easy. It is concise without sacrificing needed detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description covers the main aspects well: purpose, output contents, parameter details, and usage context. It does not specify the exact return format or error handling, but the listed fields (request/response start lines, headers, bodies, timers, flags) give a solid picture. Slightly more detail on returned structure or failure modes would earn a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description adds rich meaning for all four parameters in the Args section. It explains what saz_path refers to, how index is interpreted and sourced, what include_body does, and what max_body_chars limits. This fully compensates for the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving full details of one session, listing specific contents (start lines, headers, bodies, timers, flags). It also distinguishes itself from siblings by explicitly stating it is the only tool that returns the complete unredacted URL and bodies, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use for deep inspection of a specific session, and notes that index is shown by list_sessions, establishing a clear workflow. It also states this is the only tool for unredacted data, implicitly telling the user not to use sibling tools for this purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/hqzzzz/fiddler-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server