Livy Resolver
Read the exact source URL you choose, with a receipt that proves what was fetched.
Livy Resolver is a hosted MCP service for reading one exact web source through your AI assistant.
Hand Resolver a specific link and it fetches that page for the assistant. The response can include a receipt showing what was fetched, when it was fetched, and provenance details you can inspect later.
Use Resolver when you want the answer to come from a source you chose: a specific report, article, filing, post, or page. Resolver does not browse around, replace the link with another page, or act as a search engine.
Before You Start
You need:
- an account with access to Livy Resolver
- a supported app, such as Claude Code, Claude Desktop, Claude.ai, or Codex
There is nothing to install or run locally when your client supports remote MCP servers. Resolver is centrally hosted and managed by Livy.
Setup Instructions
General
Add Resolver as a remote MCP server with Streamable HTTP transport. The hosted server is available at:
https://resolver.api.livylabs.xyz/Resolver uses the MCP client's OAuth flow. The first connection usually opens a browser window where you sign in with the account that has Resolver access.
If your app asks for a more specific MCP path, use:
https://resolver.api.livylabs.xyz/mcpFor older clients that do not support remote MCP servers directly, use mcp-remote:
{
"mcpServers": {
"livy-resolver": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://resolver.api.livylabs.xyz/mcp"]
}
}
}Claude Code
Add Resolver to the current project:
claude mcp add --transport http livy-resolver https://resolver.api.livylabs.xyz/To make it available in every project on your machine, add it with user scope:
claude mcp add --transport http --scope user livy-resolver https://resolver.api.livylabs.xyz/Then finish setup:
- Run
claude mcp listand confirmlivy-resolverappears. - Start Claude Code and type
/mcp. - Sign in through the browser prompt.
- Confirm the
fetch_sourcetool appears under the Resolver server.
To remove it later:
claude mcp remove livy-resolverClaude Desktop And Claude.ai
Add Resolver through Connectors when your Claude plan supports custom connectors:
- Open Settings -> Connectors.
- Click Add custom connector under Custom -> Web.
- Paste
https://resolver.api.livylabs.xyz/. - Save, click Connect, and sign in with your Resolver account.
On Team or Enterprise plans, an owner may need to add the connector under Organization settings -> Connectors before each user connects their own account.
Codex
Codex stores MCP settings in ~/.codex/config.toml, shared by the terminal app and IDE extension.
Add Resolver from the command line:
codex mcp add livy-resolver --url https://resolver.api.livylabs.xyz/Then sign in:
codex mcp login livy-resolverCheck the connection:
codex mcp listYou can also type /mcp inside a Codex session to see connected servers and tools.
If you prefer editing the config file yourself, add:
[mcp_servers.livy-resolver]
url = "https://resolver.api.livylabs.xyz/"Save the file, then run:
codex mcp login livy-resolverCursor
Add Resolver from Cursor's MCP settings if your version supports remote MCP servers, using:
https://resolver.api.livylabs.xyz/If your Cursor setup expects a JSON file, create or edit .cursor/mcp.json in the project, or ~/.cursor/mcp.json for a global setup:
{
"mcpServers": {
"livy-resolver": {
"url": "https://resolver.api.livylabs.xyz/"
}
}
}If direct remote MCP is not available in your client, use the mcp-remote config from the general section instead.
Visual Studio Code
Use mcp-remote when VS Code asks for a stdio command server:
{
"mcpServers": {
"livy-resolver": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://resolver.api.livylabs.xyz/mcp"]
}
}
}From the command palette, add an MCP server, choose a command or stdio server, paste the equivalent command, name it livy-resolver, then start the server and complete OAuth:
npx -y mcp-remote https://resolver.api.livylabs.xyz/mcpWindsurf, Zed, And Other Clients
Use direct remote MCP when your client supports Streamable HTTP:
{
"mcpServers": {
"livy-resolver": {
"url": "https://resolver.api.livylabs.xyz/"
}
}
}If the client only supports command-based MCP servers, use:
{
"mcpServers": {
"livy-resolver": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://resolver.api.livylabs.xyz/mcp"]
}
}
}Some clients call the URL field serverUrl instead of url, or use context_servers instead of mcpServers. Keep the same Resolver endpoint and follow your client's config shape.
Sign In
The first time you connect, Resolver asks you to sign in through your app's OAuth screen. This is usually a browser window opened by the MCP client.
Use the account that has Resolver access. Your app stores the OAuth session after authorization succeeds.
You should not copy access tokens, refresh tokens, API keys, or secrets into chat. If sign-in fails, try again and confirm you used the right Resolver account.
Use Resolver
Once Resolver is connected, ask your assistant to fetch the exact URL you want read.
Use Livy Resolver to fetch this and summarize it:
https://example.com/reportOnly use this source of truth, nothing else:
https://example.com/articleFetch this exact page through Resolver and pull out the key figures:
https://example.com/postThe important part is the exact URL. Resolver reads that link and returns content from that source instead of letting the assistant choose a different page.
Get Proof
Ask for a receipt or provenance when you need to show where an answer came from.
Fetch this through Resolver and include the receipt id:
https://example.com/reportResolver responses can include:
| Field | Meaning |
|---|---|
receipt_id | Unique ID for the fetch, so you can refer back to it. |
status | Whether the fetch succeeded. |
fetch_elapsed_ms | How long the fetch took. |
content_bytes | How much content came back. |
explorer_url | Link for inspecting the receipt. |
managed_publication.status | Publication state, when returned. |
registry_refs | Related registry references, when returned. |
You do not need every field every time. Ask for what matters, such as the receipt ID, explorer link, publication status, or registry references.
When To Use Resolver
Use Resolver when you already have the exact source URL.
Good fits include:
- summarizing a specific article
- extracting figures from a specific report
- checking claims against one filing or source page
- creating an answer with a receipt-backed audit trail
Resolver is not a search engine. If you do not have a URL yet, find the source first, then give that exact link to Resolver.
Troubleshooting
The tool does not show up. Finish OAuth sign-in, then refresh or restart the app. In Claude Code or Codex, open /mcp and check the Resolver server status.
Sign-in failed. Try again with the account that has access to Livy Resolver.
The fetched content looks wrong. Resolver reads the exact link you give it. Check that the URL you pasted is the intended source.
The root URL does not connect. Try https://resolver.api.livylabs.xyz/mcp if your client requires an explicit MCP path.
mcp-remote fails to start. Confirm Node.js and npx are available, then retry the same config.
OAuth keeps opening the wrong account. Sign out of the wrong browser account or use a browser profile that is signed in to the account with Resolver access, then reconnect the MCP server.