> For the complete documentation index, see [llms.txt](https://docs.ipor.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ipor.io/build-on-fusion/developer-guide/mcp.md).

# MCP

Connect to the hosted Fusion MCP server: tools, resources, prompts and a worked example for inspecting vaults.

## MCP

Model Context Protocol server for IPOR Fusion. Use it to inspect deployed vaults, resolve addresses and research markets from any MCP-capable client (Claude, Cursor, custom agents). This server is **read-only inspection and research** — it does not create or configure vaults. For that, use the Python SDK (see also Deploy your first Fusion vault).

### Connect

**Transport:** Streamable HTTP **Server URL:** `https://mcp.ipor.io/mcp`

Add it through the MCP settings of your client — do not open the URL as a normal webpage.

Quick add (Claude Code):

```
claude mcp add --transport http ipor-fusion https://mcp.ipor.io/mcp
```

Manual `mcpServers` config (Claude Desktop, Cursor, and similar clients):

```json
{
  "mcpServers": {
    "ipor-fusion": {
      "url": "https://mcp.ipor.io/mcp"
    }
  }
}
```

For a locally installed alternative, the same server ships bundled with the Python SDK: [Install the SDK-bundled Fusion MCP server](https://github.com/IPOR-Labs/ipor-fusion.py#mcp-server).

### Tools

| Tool                                                                    | What it does                                                                                                                                                                     |
| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `vault_info(vault_address, chain_id, block_number=0)`                   | Full on-chain state of a Plasma Vault: asset, TVL, supply cap, fees, managers, fuses, balance fuses, substrates, alpha config, health check.                                     |
| `vault_oracle_mapping(vault_address, chain_id, block_number=0)`         | Resolves how a vault prices every configured asset, recursing through composed and derived price feeds (Chainlink, ERC4626 share price, Morpho collateral, middleware fallback). |
| `vaults_list()`                                                         | All IPOR Fusion vaults from the public API: chain, address, name, asset, APY, TVL.                                                                                               |
| `fusion_addresses_list(chain_id)`                                       | The full `{contract name: address}` map for one chain, sourced from `ipor-abi`.                                                                                                  |
| `fusion_address_names(chain_id=0)`                                      | Discover which contract names exist, across all chains or for one chain.                                                                                                         |
| `fusion_address_lookup(query, chain_id=0)`                              | Resolve a contract by name (substring) or by address, across all Fusion deployments.                                                                                             |
| `market_morpho_blue(market_id, chain_id, block_number=0, no_api=false)` | Inspect a Morpho Blue market: params, on-chain state, borrow/supply APY, supplying MetaMorpho vaults.                                                                            |
| `market_meta_morpho(vault_address, chain_id)`                           | Inspect a MetaMorpho V1 or Morpho Vault V2: roles, fees, allocations/adapters, per-market caps and headroom.                                                                     |

### Resources (`fusion://`)

| Resource                | Contents                                                                                                     |
| ----------------------- | ------------------------------------------------------------------------------------------------------------ |
| `fusion://glossary`     | Canonical terms — Atomist, Alpha, Fuse, Plasma Vault, and the rest of the vocabulary used across these docs. |
| `fusion://architecture` | How the pieces of a Fusion vault fit together.                                                               |
| `fusion://invariants`   | Common revert selectors and the role table an agent should know before sending a transaction.                |
| `fusion://quickstart`   | The executed vault-deploy walk (also mirrored in the SDK and the Deploy your first Fusion vault page).       |

### Prompts

| Prompt                 | Use it to                                             |
| ---------------------- | ----------------------------------------------------- |
| `quickstart`           | Orient a fresh agent to Fusion.                       |
| `deploy_vault`         | Walk through creating and configuring a vault.        |
| `analyze_vault`        | Inspect an existing vault's configuration and health. |
| `trace_oracle_pricing` | Follow a vault's price-feed chain end to end.         |
| `explain_fuse`         | Explain what a specific Fuse does.                    |

### Worked example: inspect a vault

```python
# 1. Get the vault's full on-chain state
vault_info(
    vault_address="0x...",
    chain_id=8453,  # Base
)
# -> asset, total_assets, total_supply, fees, fuses, balance_fuses, substrates, alpha config

# 2. Understand how it prices its assets
vault_oracle_mapping(
    vault_address="0x...",
    chain_id=8453,
)
# -> per-asset price source, feed type, and the resolved price for each configured asset
```

Combine the two to answer "what is this vault holding, and can I trust its price feeds?" without reading a single line of source.

### Rules for agents

* This server is for deployed-state inspection and research only.
* Use the Python SDK for vault creation and transaction construction.
* Resolve production addresses through `fusion_address_lookup` / `fusion_addresses_list`, not by guessing or copying from tests.
* An address returned here does not, by itself, prove a Fuse or component is compatible with a particular vault, market or strategy.
