Lineage MCP

Model Context Protocol · Streamable HTTP

Query the Lineage chain from your AI client.

An MCP server that reads the Lineage blockchain explorer-first — fast, indexed lookups verified against on-chain state via the SDK — plus item metadata search and wallet tools. Point any MCP-compatible client at the endpoint below.

Endpoint https://mcp.lineage.to/mcp
01

Connect a client

The server speaks MCP over Streamable HTTP. Read tools are open; wallet tools require server-side configuration.

Claude Code

claude mcp add --transport http \
  lineage https://mcp.lineage.to/mcp

Cursor, Claude Desktop & other clients

{
  "mcpServers": {
    "lineage": {
      "type": "http",
      "url": "https://mcp.lineage.to/mcp"
    }
  }
}
02

How it works

Every read follows the same path: the block explorer answers first because it's indexed and searchable, then the Python SDK confirms the answer against the chain.

Look up

Explorer first

The explorer API returns the block, transaction, balance, or item — indexed and quick to search.

Verify

On-chain via SDK

The SDK re-fetches the same object and compares it. Responses carry a verified flag: true, false, or unverified.

Fall back

Resilient by default

If the explorer is unreachable the SDK answers directly (source: chain). A lookup only fails if both are down.

03

Tools

Eighteen tools. Names are kebab-case; every tool returns a JSON object with an ok field. Verified reads add source, verified, and data; pass verify: false to skip the on-chain check.

Reads & verification

Explorer-first, confirmed on-chain.

get-latest-block(verify=true)verifiedThe chain tip, with height and hash confirmed against the node.
get-block(id, verify=true)verifiedA block by height or hash.
get-transaction(hash, verify=true)verifiedA transaction, including inputs, outputs, and item metadata.
get-address-balance(address, verify=true)verifiedAn address balance. Verification is timing-tolerant — a new block can move the balance between reads.
get-supply(verify=true)verifiedCirculating and total supply.

Search & listings

Explorer-only. Paginated with limit, offset, and data/pagination.

search-items(q?, genesis?, limit=20, offset=0)explorerSearch minted items by metadata substring and/or genesis hash. Provide at least one of q or genesis.
list-blocks(limit=20, offset=0, order=desc)explorerRecent blocks.
list-transactions(limit=20, offset=0, order=desc)explorerRecent transactions (excludes coinbase).
list-block-transactions(id)explorerEvery transaction in a block.
list-address-transactions(address, limit=20, offset=0)explorerAn address's transaction history.
get-statusexplorerChain and indexer status: network, ticker, height, counts.

Wallet

Key generation is offline; transfer requires a server-configured seed.

generate-seed-phrasewalletA new 12-word BIP39 mnemonic.
generate-keypair(seedPhrase?)walletA keypair — random, or derived deterministically from a seed phrase.
transfer-funds(destination, amount)writeSend amount in base units (integer) to an address. Requires LINEAGE_SEED_PHRASE on the server.

Direct chain & utility

SDK-only lookups and health.

get-entry-by-hash(hash)chainA raw blockchain entry by hash.
fetch-transactions(tx_hashes[])chainA batch of transactions by hash.
get-status  ·  health  ·  versionutilityLiveness and build info: health and version return ok and the server version.

Verification is provisional. The on-chain compare paths are still being tuned to the SDK's payload shapes, so a verified: unverified can appear where a match is expected. The returned data is always the explorer's answer regardless.