Folio MCP server
The Folio MCP server exposes U.S. public-record data — USPTO trademarks, trademark and patent assignments, TTAB proceedings, and FDA NDC drugs — as tools that any Model Context Protocol (MCP) client can call. An AI agent that has access to the MCP server can look up IP filings, drug listings, and opposition records by party name in the same way a developer queries the REST API: one authenticated call, structured JSON back.
The server runs as a remote Streamable-HTTP endpoint. Your MCP client connects to it over HTTPS; no local process, no Docker container, and no separate service to maintain.
Connection details
- URL:
https://folioapi.com/mcp - Transport: Remote Streamable-HTTP (MCP 2025-03-26)
- Auth:
X-API-Key: fo_live_...request header — use your Folio API key. The key is never a tool parameter; it belongs in the header only.
Claude Code
Add the Folio MCP server to Claude Code with a single command:
claude mcp add --transport http folio https://folioapi.com/mcp \
--header "X-API-Key: fo_live_..."
Replace fo_live_... with your actual API key. Claude Code stores the configuration in your project or user-level .mcp.json. Once added, the six Folio tools are available in every Claude Code session in that scope.
JSON configuration (.mcp.json / Cursor)
For clients that accept a JSON MCP server block — including Cursor and any tool that reads .mcp.json — add the following entry to your mcpServers object:
{
"mcpServers": {
"folio": {
"type": "http",
"url": "https://folioapi.com/mcp",
"headers": {
"X-API-Key": "fo_live_..."
}
}
}
}
Client compatibility
The Folio MCP server uses the remote Streamable-HTTP transport. Clients that implement this transport include Claude Code and Cursor. The claude.ai web interface and claude.ai desktop app use OAuth-only connector authentication and do not yet support remote HTTP MCP servers with API-key headers. If you use claude.ai, use the REST API directly instead.
Available tools
The server exposes six tools. Each takes named parameters and returns a paginated JSON response — the same structure as the Folio REST API.
folio_search_trademarks— search USPTO trademark records by owner name, exact owner name (owner_name_exactfor short names like GE or 3M), mark text, serial number, international class, or filing date range.folio_list_trademark_assignments— retrieve trademark assignment records (ownership transfers) by assignor or assignee name.folio_list_patent_assignments— retrieve patent assignment records by party name, covering USPTO bulk data from 1970 to the present.folio_list_ttab_proceedings— look up TTAB inter partes proceedings (oppositions, cancellations) by party name or exact party name (party_name_exactfor short names), covering records from 1996 to the present.folio_search_drugs— search the FDA NDC (National Drug Code) directory by drug name, labeler, or application number.folio_list_datasets— list the five Folio datasets available on this server, with the tool that queries each and its coverage dates.
A note on API key placement
Your Folio API key goes in the X-API-Key request header — configured once when you register the MCP server, not passed as a parameter on every tool call. Store it in your MCP client's secrets management (e.g. an environment variable referenced in .mcp.json) rather than hard-coding it in a committed config file.
Next steps
- Using Folio as a data layer for AI research agents — framing, example queries, and patterns for agent-driven due-diligence workflows.
- Full API reference — every parameter and response field for each endpoint.
- USPTO trademark search API guide — filter reference and query patterns.
- Get a free API key — 250 requests per day on the free tier.