Agent Toolbox MCP
Agent Toolbox provides a remote MCP server offering AI agents access to tools for image generation, document-to-markdown conversion, audio transcription, text embeddings, translation, summarization, email verification, currency exchange, and web data extraction. It supports pay-per-call via x402 or prepaid API keys.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://agent-toolbox.zafermemon87.workers.dev/mcpWhat you can do with it
- Generate images from text prompts using FLUX.1 schnell
- Convert web pages and documents to clean Markdown
- Transcribe audio files to text using Whisper
- Extract structured JSON data from web pages or PDFs
Source and maintenance
Protocol and capabilities
- Server
- agent-toolbox 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 24 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
24 advertised
generate_image — Generate Image
Generate a 1024x1024 JPEG image from a text prompt with FLUX.1 schnell; every prompt passes a safety check first (sexual content and other unsafe requests are refused and not charged). Returns the image as base64. Costs USD 0.01 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"steps": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Diffusion steps, 1 to 8 (default 4; more is slower and finer)"
},
"prompt": {
"type": "string",
"description": "What to draw, up to 2048 characters"
}
}
}{
"title": "Generate Image",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}url_to_markdown — Url To Markdown
Fetch a public web page or document (HTML, PDF, Word, Excel, CSV, XML; up to 10 MB) and return it as clean Markdown with its title and final URL. Add render=true for pages that build their content with JavaScript: they are opened in a real headless Chrome first. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL"
},
"render": {
"type": "boolean",
"description": "Open the page in a real headless Chrome first, for pages built with JavaScript (slower; default false)"
}
}
}{
"title": "Url To Markdown",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}file_to_markdown — File To Markdown
Convert an uploaded document (PDF, Word, Excel, CSV, HTML, XML, OpenDocument; up to 10 MB) to Markdown. Costs USD 0.003 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"filename",
"file_base64"
],
"properties": {
"filename": {
"type": "string",
"description": "File name with extension, e.g. report.pdf"
},
"file_base64": {
"type": "string",
"description": "The file, base64-encoded"
}
}
}{
"title": "File To Markdown",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}transcribe_audio — Transcribe Audio
Speech to text with Whisper large v3 turbo: transcribe audio (mp3, wav, m4a, ogg, webm; up to 20 MB, about 20 minutes) from a URL or base64, or translate the speech into English. Returns the text, language, duration and timed segments. Costs USD 0.01 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"properties": {
"task": {
"enum": [
"transcribe",
"translate"
],
"type": "string",
"description": "translate = into English"
},
"language": {
"type": "string",
"description": "Language code such as en or hi (detected when left out)"
},
"audio_url": {
"type": "string",
"description": "A public http(s) URL"
},
"audio_base64": {
"type": "string",
"description": "The audio file, base64-encoded"
}
}
}{
"title": "Transcribe Audio",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}embed_text — Embed Text
Text embeddings with BGE-M3 (multilingual, 1024 dimensions) for search, clustering and RAG: up to 100 texts of up to 8,000 characters per call. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"texts"
],
"properties": {
"texts": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Texts to embed"
}
}
}{
"title": "Embed Text",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}translate_text — Translate Text
Translate text (up to 5,000 characters) between 100 languages with M2M100 1.2B. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"text",
"target_lang"
],
"properties": {
"text": {
"type": "string"
},
"source_lang": {
"type": "string",
"description": "Default english"
},
"target_lang": {
"type": "string",
"description": "Language name or code, e.g. french or fr"
}
}
}{
"title": "Translate Text",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summarize — Summarize
Summarize text (up to 60,000 characters) or a public web page or PDF by URL with Llama 3.1 8B, short, medium or long, optionally focused on a topic. Costs USD 0.003 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL"
},
"text": {
"type": "string"
},
"focus": {
"type": "string",
"description": "Optional topic to focus on"
},
"length": {
"enum": [
"short",
"medium",
"long"
],
"type": "string"
}
}
}{
"title": "Summarize",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}verify_email — Verify Email
Check an email address: format, whether the domain exists and accepts mail (MX records), disposable providers, role accounts and free providers, with a valid / risky / invalid verdict. The mailbox itself is not probed. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string"
}
}
}{
"title": "Verify Email",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}fx_rates — Fx Rates
Currency exchange rates and conversion for about 30 currencies (USD, EUR, GBP, INR, JPY, CNY ...) from the European Central Bank reference rates of the latest working day. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "Base currency, default USD"
},
"amount": {
"type": "number",
"description": "Amount to convert (default 1)"
},
"symbols": {
"type": "string",
"description": "Comma-separated, e.g. EUR,INR (default: all)"
}
}
}{
"title": "Fx Rates",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}dns_lookup — Dns Lookup
DNS records of a domain (A, AAAA, MX, TXT, NS, CNAME, SOA, CAA, SRV, PTR) over DNS-over-HTTPS (1.1.1.1), with DNSSEC validation status. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Domain name"
},
"type": {
"enum": [
"A",
"NS",
"CNAME",
"SOA",
"PTR",
"MX",
"TXT",
"AAAA",
"SRV",
"CAA"
],
"type": "string"
}
}
}{
"title": "Dns Lookup",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}chat_gpt_oss_120b — Chat Gpt Oss 120b
OpenAI-compatible chat completion with gpt-oss-120b (OpenAI's open-weight reasoning model): set the base URL to /v1/llm/gpt-oss-120b in any OpenAI SDK. Up to 32,000 characters in and 2,048 tokens out per call, a fixed price per call, no streaming. Costs USD 0.005 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"messages"
],
"properties": {
"messages": {
"type": "array",
"items": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"type": "string"
},
"content": {
"type": "string"
}
}
},
"description": "OpenAI chat messages: [{role: system|user|assistant, content}] (up to 32,000 characters in total)"
},
"max_tokens": {
"type": "integer",
"maximum": 2048,
"minimum": 1,
"description": "Default 2048"
},
"temperature": {
"type": "number",
"maximum": 2,
"minimum": 0
},
"response_format": {
"type": "object",
"description": "{\"type\": \"json_object\"} for JSON output"
}
}
}{
"title": "Chat Gpt Oss 120b",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}chat_qwen3_30b — Chat Qwen3 30b
OpenAI-compatible chat completion with Qwen3 30B (fast mixture-of-experts model): set the base URL to /v1/llm/qwen3-30b in any OpenAI SDK. Up to 32,000 characters in and 2,048 tokens out per call, a fixed price per call, no streaming. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"messages"
],
"properties": {
"messages": {
"type": "array",
"items": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"type": "string"
},
"content": {
"type": "string"
}
}
},
"description": "OpenAI chat messages: [{role: system|user|assistant, content}] (up to 32,000 characters in total)"
},
"max_tokens": {
"type": "integer",
"maximum": 2048,
"minimum": 1,
"description": "Default 2048"
},
"temperature": {
"type": "number",
"maximum": 2,
"minimum": 0
},
"response_format": {
"type": "object",
"description": "{\"type\": \"json_object\"} for JSON output"
}
}
}{
"title": "Chat Qwen3 30b",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}domain_whois — Domain Whois
Domain registration data from RDAP (the successor of WHOIS): registrar, creation, expiry and update dates, status codes, nameservers and DNSSEC. Costs USD 0.002 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string"
}
}
}{
"title": "Domain Whois",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}company_search — Company Search
Find companies worldwide by name in the official GLEIF register of legal entities: legal name, LEI, country, registered address, company-register number, legal form and status, best match first, plus matching US-listed companies with ticker and SEC CIK. Costs USD 0.005 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many matches (default 5)"
},
"query": {
"type": "string",
"description": "Company name, e.g. Reliance Industries"
},
"country": {
"type": "string",
"description": "Optional two-letter country code to narrow the search, e.g. IN"
}
}
}{
"title": "Company Search",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}company_lei — Company Lei
Full official record of a legal entity by its LEI (Legal Entity Identifier) from GLEIF: legal and other names, registered and head-office addresses, company-register number, legal form, status, founding date, LEI status, and its direct and ultimate parent companies. Costs USD 0.005 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"lei"
],
"properties": {
"lei": {
"type": "string",
"description": "20-character LEI, e.g. HWUPKR0MPOU8FGXBT394"
}
}
}{
"title": "Company Lei",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}company_us — Company Us
US public company profile from SEC EDGAR by ticker or CIK: industry, exchange, state of incorporation, fiscal year end, address and phone, shares outstanding, latest full-year financials (revenue, net income, assets, liabilities, equity, cash, diluted EPS) and links to the latest 10-K, 10-Q and 8-K filings. Costs USD 0.01 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"properties": {
"cik": {
"type": "string",
"description": "SEC CIK number, e.g. 320193 (instead of ticker)"
},
"ticker": {
"type": "string",
"description": "Stock ticker, e.g. AAPL"
}
}
}{
"title": "Company Us",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}extract_data — Extract Data
Extract structured JSON from a web page, PDF or text: name the fields you want (up to 25, with types) and get each value with the exact quote from the page that states it. Every quote is checked against the page itself (verified, quoted, unverified or not_found), so values are never invented. Charged only when at least one field is found. Costs USD 0.005 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"fields"
],
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL"
},
"text": {
"type": "string",
"description": "Text to read instead of a URL (up to 60,000 characters)"
},
"fields": {
"type": "object",
"description": "Field name -> \"type: what it is\" (types: string, number, integer, boolean), e.g. {\"price\": \"number: the current price\"}; a JSON Schema with properties also works",
"additionalProperties": {
"type": "string"
}
},
"render": {
"type": "boolean",
"description": "Open the page in a real headless Chrome first, for pages built with JavaScript (slower; default false)"
}
}
}{
"title": "Extract Data",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}screenshot — Screenshot
Screenshot of a public web page in a real headless Chrome after it has loaded (JavaScript included): a JPEG of the visible window or the full page, 320 to 1920 pixels wide, as base64. Costs USD 0.003 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL"
},
"width": {
"type": "integer",
"maximum": 1920,
"minimum": 320,
"description": "Window width in pixels (default 1280)"
},
"full_page": {
"type": "boolean",
"description": "The whole page instead of the first screen (default false)"
}
}
}{
"title": "Screenshot",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}watch_field — Watch Field
Watch one field on a web page for 30 days, e.g. a price, stock status or version number: it is read again every 15 to 1440 minutes and an alert goes to your webhook, Slack, Discord or Telegram when it changes, goes below or above a number, contains a text, or disappears. Returns the current value now; check status or stop it for free with the watch secret. Costs USD 0.10 per call, paid with x402 (USDC on Base); calls that fail are not charged.
{
"type": "object",
"required": [
"url",
"field"
],
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL"
},
"type": {
"enum": [
"string",
"number",
"integer",
"boolean"
],
"type": "string",
"description": "The field's type (number for below and above)"
},
"when": {
"enum": [
"changes",
"below",
"above",
"contains",
"gone"
],
"type": "string",
"description": "Default changes; below and above compare numbers; contains looks for text in the value; gone fires when the field is no longer on the page"
},
"field": {
"type": "string",
"description": "A short name for the field, e.g. price"
},
"label": {
"type": "string",
"description": "Optional name for your own reference"
},
"value": {
"description": "The number for below/above, or the text for contains"
},
"format": {
"enum": [
"json",
"slack",
"discord",
"telegram"
],
"type": "string",
"description": "Detected from the callback host when left out"
},
"description": {
"type": "string",
"description": "What the field is, e.g. the current price of the product"
},
"callback_url": {
"type": "string",
"description": "Optional https URL for alerts (a signed JSON POST); Slack and Discord incoming webhooks and https://api.telegram.org/bot<token>/sendMessage?chat_id=<id> get a readable message. Without it, poll the status."
},
"every_minutes": {
"type": "integer",
"maximum": 1440,
"minimum": 15,
"description": "How often the page is read (default 60)"
}
}
}{
"title": "Watch Field",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}read_url — Read Url
Free. Read a public web page or document (HTML, PDF, Word, Excel, CSV; up to 5 MB) as clean Markdown with its title. Up to 20 reads a minute per IP; for more, url_to_markdown is the paid version with no limit.
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL"
}
}
}{
"title": "Read Url",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}extract_free — Extract Free
Free. Extract structured JSON from a web page or text with a checked quote per field (up to 8 fields, Qwen3), 20 a day per IP. extract_data is the paid version: gpt-oss-120b, up to 25 fields, no limit.
{
"type": "object",
"required": [
"fields"
],
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL"
},
"text": {
"type": "string",
"description": "Text to read instead of a URL (up to 60,000 characters)"
},
"fields": {
"type": "object",
"description": "Field name -> \"type: what it is\" (types: string, number, integer, boolean), e.g. {\"price\": \"number: the current price\"}; a JSON Schema with properties also works",
"additionalProperties": {
"type": "string"
}
},
"render": {
"type": "boolean",
"description": "Open the page in a real headless Chrome first, for pages built with JavaScript (slower; default false)"
}
}
}{
"title": "Extract Free",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}watch_status — Watch Status
Free. A field watch's status, current value and last 20 alerts, with the watch_id and secret that watch_field returned.
{
"type": "object",
"required": [
"watch_id",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"watch_id": {
"type": "string"
}
}
}{
"title": "Watch Status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}stop_watch — Stop Watch
Free. Stop a field watch, with the watch_id and secret that watch_field returned.
{
"type": "object",
"required": [
"watch_id",
"secret"
],
"properties": {
"secret": {
"type": "string"
},
"watch_id": {
"type": "string"
}
}
}{
"title": "Stop Watch",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}service_info — Service Info
Free. Lists every tool with its price and explains how payment works (x402 over MCP, USDC on Base).
{
"type": "object",
"properties": {}
}{
"title": "Service Info",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 361 ms
- 95th percentile latency
- 361 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 361 ms · metadata changed · 24 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http agent-toolbox-mcp-workers https://agent-toolbox.zafermemon87.workers.dev/mcpCodex
codex mcp add agent-toolbox-mcp-workers --url https://agent-toolbox.zafermemon87.workers.dev/mcpCursor
{
"mcpServers": {
"agent-toolbox-mcp-workers": {
"url": "https://agent-toolbox.zafermemon87.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"agent-toolbox-mcp-workers": {
"type": "streamableHttp",
"url": "https://agent-toolbox.zafermemon87.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"agent-toolbox-mcp-workers": {
"type": "http",
"url": "https://agent-toolbox.zafermemon87.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http agent-toolbox-mcp-workers https://agent-toolbox.zafermemon87.workers.dev/mcpClaude Desktop
{
"mcpServers": {
"agent-toolbox-mcp-workers": {
"url": "https://agent-toolbox.zafermemon87.workers.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"agent-toolbox-mcp-workers": {
"serverUrl": "https://agent-toolbox.zafermemon87.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like Agent Toolbox MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.