MCPSpend
Server Details
Track cost, latency, and usage of every MCP tool call from any client (Claude, Cursor, Windsurf). Free 25K calls/month — open-source proxy, EU-hosted.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 7 of 7 tools scored. Lowest: 3.9/5.
Each tool has a distinct purpose: cost estimation, session details, daily cost, monthly usage, session listing, top tools, and demo. No two tools overlap in functionality.
All tool names follow a consistent verb_noun pattern (e.g., estimate_cost, get_session_details, list_top_tools). 'try_demo' also fits the pattern.
Seven tools is an appropriate number for a cost monitoring server, covering estimation, session details, daily/monthly usage, and top tools without being overwhelming.
The tool set covers core cost monitoring needs: estimation, session drill-down, daily/monthly totals, and top tools. Minor gaps like historical trends or budget management are missing but not critical for the stated purpose.
Available Tools
7 toolsestimate_costARead-onlyIdempotentInspect
Estimate the USD cost of an MCP tool call BEFORE invoking it. Returns median + P90 + average cost from the org's last-30-day history for this exact (server, tool) combo. Use this to make spend-aware decisions in your agent — e.g. confirm with the user before invoking tools where the estimate exceeds your budget. Returns isUnknown=true with zero cost when no baseline exists yet.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional model identifier. Falls back to the historical median across all models when omitted. | |
| toolName | Yes | Tool name within the server, e.g. "browser_navigate". | |
| serverName | Yes | MCP server name, e.g. "playwright" or "github". |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| toolName | Yes | |
| isUnknown | Yes | |
| avgCostUsd | No | |
| p90CostUsd | No | 90th percentile cost — worst-case reasonable estimate. |
| sampleSize | Yes | |
| serverName | Yes | |
| successRate | No | 0-1, fraction of historical calls that succeeded. |
| avgLatencyMs | No | |
| avgInputTokens | No | |
| avgOutputTokens | No | |
| estimatedCostUsd | Yes | Median cost from sample. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, which description supports by being a read operation. Description adds that it returns isUnknown=true when no baseline, offering behavioral context beyond 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?
Two concise sentences that front-load the core purpose and output. Every clause adds value, though could be slightly more succinct (e.g., merging last sentence).
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 annotations and output schema existence, description covers purpose, usage, edge cases (no baseline), and output details. It is fully adequate for an AI agent to select and invoke this tool correctly.
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 coverage is 100%, so schema already documents parameters. Description adds nuance: 'model' is optional and falls back to historical median, which enriches meaning beyond schema.
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 uses specific verbs ('Estimate', 'Returns') and resources ('USD cost of an MCP tool call') with clear output (median + P90 + average). It distinguishes from siblings like get_session_details and list_top_tools by being a pre-call cost estimator.
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?
Explicitly says use for spend-aware decisions and suggests confirming with user when estimate exceeds budget. Mentions edge case of no baseline. Could add when not to use, but given clarity, a high score is justified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_session_detailsARead-onlyIdempotentInspect
Drill into a single session by ID. Returns the session header plus every tool call within it (capped at 500 to bound payload size).
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Session ID from list_recent_sessions. Must belong to the caller's organization. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| model | Yes | |
| startedAt | Yes | |
| toolCalls | Yes | |
| totalCostUsd | Yes | |
| toolCallCount | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description discloses a cap of 500 tool calls to bound payload size, which is a behavioral trait not inferable from 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?
Two sentences, front-loaded with the core action, and every word earns its place. No redundancy or clutter.
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 existence of an output schema, the description need not detail return values. It adequately covers the key aspects: session identification, content, and size limit.
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?
The input schema is 100% covered, and the description adds value by specifying the session ID source ('from list_recent_sessions') and a constraint ('Must belong to the caller's organization').
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 phrase 'Drill into a single session by ID' clearly identifies the specific action (drilling) and resource (session). It distinguishes from siblings like list_recent_sessions by focusing on a single session's details.
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 implies usage when needing a session's full details, but does not explicitly state when to avoid or provide alternatives. The context 'by ID' naturally excludes use cases like listing or aggregating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_today_costARead-onlyIdempotentInspect
Total tool-call cost and call count for the current day (UTC), for the organization behind the caller's API key. Returns a human-readable summary line plus raw numbers in a structured field.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| costUsd | Yes | Sum of estimated costs in USD. |
| callCount | Yes | Tool calls observed since 00:00 UTC. |
| errorCount | Yes | Tool calls that returned an error. |
| inputTokens | Yes | Sum of input tokens. |
| outputTokens | Yes | Sum of output tokens. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by specifying the UTC timezone, organization-level scoping, and output format (summary line plus structured numbers). Annotations already indicate read-only and idempotent behavior, so the description provides complementary detail without contradiction.
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 two concise sentences with no redundant words. The first sentence front-loads the core purpose and scope, making it easy to parse quickly.
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 no parameters, rich annotations, and an output schema, the description provides all necessary context: scope (today UTC, organization), output type (summary + numbers), and no missing details.
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 no parameters, and schema description coverage is effectively 100%. The description does not need to add parameter details; the baseline score of 4 applies.
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 that the tool returns total tool-call cost and call count for the current day UTC, scoped to the caller's organization. It includes both a human-readable summary and structured numbers, distinguishing it from siblings like get_usage_this_month (monthly) or estimate_cost (future estimates).
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 implicitly conveys when to use this tool (for today's cost in UTC). While it doesn't explicitly state alternatives or exclusions, the context is clear given the simple scope and sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usage_this_monthARead-onlyIdempotentInspect
Calls used this calendar month, the plan limit, percentage used, and a linear end-of-month projection based on the current daily average. Use to spot when an org will hit its cap.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | Current plan tier. |
| callsLimit | Yes | Plan's monthly call cap. |
| percentUsed | Yes | callsThisMonth / callsLimit * 100. |
| callsThisMonth | Yes | Tool calls used since the billing cycle start. |
| organizationName | Yes | Name of the org owning this API key. |
| projectedEndOfMonth | Yes | Linear projection of total calls by end of UTC month. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true. Description adds that it returns a projection based on daily average, which is useful behavioral context beyond 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?
Single sentence that is compact yet conveys all necessary information: output components and use case.
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 parameterless tool with output schema, the description fully covers what it returns and when to use it, leaving no gaps.
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?
No parameters in schema, so baseline is 4. Description does not need to add parameter info; it implicitly indicates no inputs needed.
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?
Description clearly states it provides calls used, plan limit, percentage used, and projection. Verb is implicit but resource and output are specific. Distinguishes from siblings like get_today_cost and estimate_cost.
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?
Explicitly says to use 'to spot when an org will hit its cap'. Does not mention when not to use or alternative tools, but the use case is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_sessionsARead-onlyIdempotentInspect
Recent agent sessions for this organization, ordered by start time. Each row has the model, total cost, tool-call count, and duration in seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum sessions to return. Defaults to 20. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sessions | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false. The description adds that results are ordered by start time and lists columns, but does not disclose additional behavioral traits like pagination limits or that only sessions for the current organization are shown. The added value beyond annotations is modest.
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 consists of two brief sentences with no wasted words. It front-loads the purpose and follows with specific column information, making it easy to parse.
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?
With only one parameter and an output schema present, the description adequately covers what the tool returns (the fields in each row) and the ordering. No additional explanation of return values is needed because the output schema exists.
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?
The input schema already describes the single parameter 'limit' with its default, range, and purpose. The description adds no extra semantic meaning to the parameter, so baseline 3 is appropriate given 100% schema coverage.
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 it lists recent agent sessions for the organization, ordered by start time, and specifies the fields (model, cost, tool-call count, duration). This distinguishes it from sibling tools like get_session_details which retrieves a single session, and estimate_cost which estimates cost.
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 implies usage for browsing recent sessions but does not provide explicit guidance on when to use versus alternative tools. No exclusionary conditions or suggestions for when to prefer get_session_details or other siblings are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_top_toolsARead-onlyIdempotentInspect
Top MCP tools by cost over the past N days. Answers "what is the most expensive thing my agents do" — useful before tightening prompts or swapping a server.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Lookback window in days. Defaults to 7. | |
| limit | No | Maximum entries to return. Defaults to 10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | Yes | |
| tools | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description carries less burden. It adds behavioral context by framing the tool as an analysis utility for cost optimization, which complements the annotations without contradiction.
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 two sentences long, front-loaded with the action and resource, and every phrase earns its place. No unnecessary words.
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 (2 optional parameters, full schema coverage, annotations, and an output schema), the description fully covers the purpose and usage context. An agent can correctly decide when to invoke this tool.
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%, with clear defaults and constraints on days and limit. The description's mention of 'past N days' slightly reinforces the days parameter but adds no new meaning beyond the schema.
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 purpose: listing top MCP tools by cost over N days, answering the question of what the most expensive agent actions are. This distinguishes it from sibling tools like estimate_cost or get_today_cost which focus on different cost metrics.
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 provides a concrete use case ('useful before tightening prompts or swapping a server'), but does not explicitly exclude other scenarios or compare to alternative tools like estimate_cost or get_usage_this_month. The context is clear but lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
try_demoARead-onlyIdempotentInspect
Run this WITHOUT an API key to see what MCPSpend output looks like. Returns a synthetic cost snapshot identical in shape to get_today_cost + list_top_tools + get_usage_this_month. Use this to preview the product before signing up.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| demo | Yes | Always true — this is sample data. |
| plan | Yes | |
| month | Yes | |
| today | Yes | |
| signUp | Yes | URL where the caller can create a real account. |
| topTools | Yes | |
| organizationName | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint true), the description adds that no authentication is needed, it returns synthetic cost snapshots, and that the shape matches three specific tools. This fully discloses the tool's behavior.
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?
Two short sentences, front-loaded with the most critical info (no auth needed, demo purpose). Every word provides value; no redundancy or filler.
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 zero-parameter tool with an output schema, the description fully explains purpose, usage context, behavior, and return shape. It leaves no gaps for an AI agent to misinterpret.
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?
The input schema has zero parameters and schema coverage is 100%, so the description has no need to add parameter info. The description implicitly confirms no parameters are needed by stating it works without an API key.
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 uses a specific verb 'Run' and identifies the resource as a demo of MCPSpend output. It clearly distinguishes from sibling tools by noting no API key needed and synthetic data, and explicitly states it is for previewing the product before signing up.
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 explicitly states when to use this tool (without an API key, to preview) and implicitly when not to use (for real data, since it's synthetic). It names three sibling tools whose output shape it mimics, providing clear context for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!