Skip to main content
Glama
theaidrill

Cost Explorer MCP

by theaidrill

Cost Explorer MCP

An MCP App — a tool that returns a real interactive UI, rendered live inside the conversation, instead of just text. This one estimates Claude API costs: sliders for request volume and token size, a live comparison chart across five models, and a button that hands the picked model straight back to the conversation.

  • Hand-rolled JSON-RPC 2.0 over HTTP — no @modelcontextprotocol/sdk on the server side

  • Zero runtime dependencies — pure arithmetic, no external API call, so tools/call costs nothing to run

  • Deploys as a single AWS Lambda function behind a Function URL

Files

File

Purpose

index.mjs

The server — JSON-RPC dispatch, plus _meta.ui.resourceUri on the tool and resources/read serving the bundled UI

pricing.mjs

The pricing data and the estimate() function — the only file you'd touch when prices change

ui/mcp-app.html, ui/mcp-app.js

The app itself — sliders, model cards, an SVG bar chart

vite.config.js

Bundles ui/ into one self-contained dist/mcp-app.html

package.json

Zero dependencies — only devDependencies, build-time only

Related MCP server: TokenLens MCP Server

Build

npm install
npm run build

Produces dist/mcp-app.html — a single file with CSS and JS inlined, required since the host renders it in a sandboxed iframe under a strict CSP.

Deploy

Zip exactly three things: index.mjs, pricing.mjs, and dist/. Upload to a new Lambda function (Node.js 22+, no native dependencies), set the MCP_API_KEY environment variable, and create a Function URL with AuthType: NONE plus a CORS block:

  • Allow origin: *

  • Allow methods: GET, POST

  • Allow headers: content-type, x-api-key, mcp-protocol-version, mcp-session-id, last-event-id

The CORS block matters because a browser-based host preflights every call with an OPTIONS request before the real one — without it, that preflight gets rejected and the app never loads.

Connect

Add it as a custom connector in Claude Desktop or Claude web, using the Function URL with the key appended as a query param (?key=...) — the connector dialog has no header field, so the handler accepts the key via query string as a fallback to the x-api-key header.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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/theaidrill/cost-explorer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server