UpAPI logo

UpAPI

Expose upAPI's hosted search, scraping, document, OCR, and other operations as MCP tools.

Install UpAPI

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "upapi": {
      "command": "npx",
      "args": [
        "-y",
        "@upapi/mcp"
      ],
      "env": {
        "UPAPI_API_KEY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

upAPI MCP server connects MCP clients to upAPI's catalog of hosted operations, including web search, scraping, screenshots, PDF processing, OCR, social, maps, finance, and developer lookups. It exposes compact `search_ops` and `call_op` tools by default, while alternate modes can advertise named tools or the full operation catalog. Use the hosted HTTP endpoint with account sign-in, or run the stdio package locally with an upAPI API key. Each call invokes one operation on upAPI; workflows and multi-step chaining remain the responsibility of the client or agent.

Use cases

  • Discover a suitable search or data operation by intent
  • Run web, SERP, OCR, PDF, or screenshot operations from an MCP agent
  • Look up GitHub repositories, npm packages, or Wikipedia articles
  • Connect an agent to multiple hosted APIs through one gateway
  • Budget calls using operation-level quota costs

Key features

  • Intent-based operation discovery
  • Slug-based operation execution
  • Compact, directory, Claude, and full tool modes
  • Hosted HTTP and local stdio transports
  • Operation-specific JSON schemas
  • Quota costs and readable gateway errors

Tools2

What UpAPI lets your agent do. Expand a tool for its parameters.

Self-reported~43 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

13/13 checks healthy over the last 67d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12d ago via OSV.dev · @upapi/mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads1kPackage downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Tools exposed2Callable tools this server registers over MCP.

How UpAPI works

What upAPI MCP server does

upAPI MCP server gives an MCP-compatible agent access to upAPI's public operation catalog through a consistent interface. The catalog covers hosted capabilities such as web and SERP search, page conversion, screenshots, PDF and OCR processing, transcription, social profiles, maps, finance, Wikipedia, npm, GitHub, and other developer or file operations.

The service is suited to agents that need several external data or processing APIs without implementing a separate integration for each one. Calls are made against upAPI's gateway and consume the account's pooled quota. The server is not an orchestration engine, LLM provider, or local scraping library: each tool call represents one hosted operation.

How it works

The default compact surface contains two discovery and dispatch tools:

  • search_ops finds operations by intent and returns their slugs, descriptions, input parameters, and quota costs.
  • call_op executes one operation by slug with an input object, such as github-repo.get with its operation-specific arguments.

The hosted endpoint also supports tools=full, which exposes each operation as its own tool, and tools=directory, which presents a curated set of named tools for common operations. tools=claude provides the Claude-oriented named-tool shape. Local stdio uses the equivalent UPAPI_TOOL_MODE setting. These modes change the advertised tool table, not the operations available through the gateway.

Operation schemas are generated from the worker models, including formats, bounds, defaults, and nullability. Results use normal MCP tool responses. Failed calls remain tool results with isError: true and a public upAPI error code such as RATE_LIMITED, INVALID_INPUT, or UPSTREAM_UNREACHABLE.

Setup and configuration

For a hosted connection, configure an MCP client with:

https://app.upapi.io/api/mcp

The endpoint starts an upAPI browser sign-in flow and requires no copied API key. For a local stdio connection, install and run @upapi/mcp through npx and provide an UPAPI_API_KEY beginning with upapi_. Claude Code uses the same stdio command with an environment variable; Claude Desktop, Cursor, and Windsurf accept the equivalent JSON MCP configuration.

Local configuration also accepts UPAPI_BASE_URL to change the gateway origin and UPAPI_TOOL_MODE with compact, directory, claude, or full. The default is compact. The key is checked for presence locally, while validity, expiration, and quota are checked by the gateway.

Mastra users can install the optional peer packages and import bindings from @upapi/mcp/mastra. These bindings can expose tools directly to a Mastra agent, filter operations by category, or create a Mastra MCP server using a Code Mode surface with search_tools and execute_typescript.

Tools and capabilities

  • Discover operations by intent and inspect their inputs and quota costs.
  • Execute any public operation by slug through the uniform gateway contract.
  • Advertise common operations as named tools or expose the complete catalog.
  • Use hosted HTTP or local stdio transport.
  • Budget agent calls from quota costs included in tool descriptions.
  • Receive operation-specific JSON schemas and readable gateway error codes.

Limitations and notes

Each operation is a separate hosted call, so chaining and workflow control must be implemented by the calling agent or application. The server does not declare MCP outputSchema; live third-party payloads can vary, and results are returned as tool content rather than guaranteed structured output. Both hosted and local connections use the same quota pool. The directory mode is a curated advertised subset, while compact and full modes provide different catalog visibility without changing gateway access.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about UpAPI

upAPI is an MCP server that connects compatible agents to the upAPI marketplace and gateway, exposing hosted operations for web search, scraping, screenshots, PDFs, OCR, social, maps, finance, and developer data. Its main tools are `search_ops` for discovery and `call_op` for executing an operation by slug.

Install it through `npx` with `@upapi/mcp` and set `UPAPI_API_KEY` to an upAPI key beginning with `upapi_`. Alternatively, connect an MCP client to `https://app.upapi.io/api/mcp` and sign in through the hosted OAuth flow without installing the package.

Yes, upAPI works with Cursor through its local stdio configuration. Add `npx -y @upapi/mcp` as the command and provide `UPAPI_API_KEY` in the server environment, using the same JSON MCP configuration shape shown for other local clients.

Use the full tool mode: add `?tools=full` to the hosted MCP URL or set `UPAPI_TOOL_MODE=full` for the local server. This advertises each operation separately; compact mode instead uses `search_ops` and `call_op` to keep the tool table smaller.

Yes, Mastra support is available through optional peer dependencies and the `@upapi/mcp/mastra` subpath. `createUpapiTools` exposes gateway operations directly to a Mastra agent, while `createUpapiMcpServer` creates a Mastra MCP server with a Code Mode surface by default.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewUpAPI AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/upapi?style=directory)](https://allmcps.com/mcp/upapi)
HTML Embed
<a href="https://allmcps.com/mcp/upapi"><img src="https://allmcps.com/api/badge/upapi?style=directory" alt="UpAPI on AllMCPs" /></a>