@flarekit-dev/mcp
v1.0.0
Published
The Flare MCP server — read, plan and write tools for Flare and Coston2 over stdio, for Claude Code, Claude Desktop, Cursor and any MCP host. Most tools need no key at all.
Maintainers
Readme
@flarekit-dev/mcp
The Flare MCP server. Price feeds, confidential compute, portfolios, plans and swaps for Flare and Coston2, over stdio, for any Model Context Protocol host.
Most of it needs no key at all. Twelve of the thirteen tools are read or
plan class and work with nothing configured.
Community-built. Not an official Flare Networks product.
Add it to a host
claude mcp add flare npx @flarekit-dev/mcpOr, for a host that reads a JSON config:
{
"mcpServers": {
"flare": {
"command": "npx",
"args": ["@flarekit-dev/mcp"]
}
}
}That is the whole setup. It defaults to Coston2 testnet — there is no implicit mainnet default, because selecting a network where value is real should be a deliberate act.
The tools
| Tool | Class | Key |
| --- | --- | --- |
| flare.capabilities.list | read | no |
| flare.feeds.list | read | no |
| flare.feeds.get | read | no |
| flare.random.get | read | no |
| flare.portfolio.get | read | no |
| flare.operations.list | read | no |
| flare.operations.get | read | no |
| flare.tee.machines | read | no |
| flare.tee.machine | read | no |
| flare.wallet.status | read | no |
| flare.quote | plan | no |
| flare.plan | plan | no |
| flare.execute | write | yes |
flare.capabilities.list also declares the tools that are not built, with the
reason, so an agent can tell "not offered" from "you missed it".
What it will not do
- It never reports
submittedassucceeded. A broadcast transaction has been broadcast; whether it worked is a separate fact, and the chain answers it. - It never reports an unknown outcome as failed. A send that threw does not
prove nothing was broadcast, so those become
action_requiredwith the hash, not a terminal failure that hides a swap which actually mined. - It never returns a balance it could not read as zero. An unread value is reported absent with a reason.
- It never returns your private key, in any tool, on any path.
Signing
flare.execute is the only tool that signs. The key resolves in this order:
FLARE_AGENT_PRIVATE_KEY~/.flare-kit/agent-key.json(written0600)- generated, and persisted at
0600
Auto-generation is safe because a fresh account holds nothing. Read
flare.wallet.status to see the address and balance — the blast radius — before
funding it. On Coston2 the faucet is at
faucet.flare.network/coston2.
A host that only reads and plans never causes a key to exist.
Configuration
| Variable | Meaning |
| --- | --- |
| FLARE_NETWORK | coston2 (default) or flare |
| FLARE_RPC_URL | Override the registry's public RPC |
| FLARE_AGENT_PRIVATE_KEY | The agent's signing key |
No secret is written to disk except the agent key, and none is ever logged or returned by a tool.
Operations
Every plan and execution is recorded under ~/.flare-kit/operations, one file
per operation, and reconciled against the chain whenever you read it. There
is no Resume button: flare.operations.list and flare.operations.get bring a
submitted operation up to date as a side effect of being asked.
Building on it
The server defines no tools of its own. Every tool comes from
@flarekit-dev/tools,
which is transport-free — the same definitions are exposed to the Vercel AI SDK
by @flarekit-dev/ai-sdk.
import { createMcpServer, createContext, resolveConfig } from '@flarekit-dev/mcp'
const server = createMcpServer({ context: createContext(resolveConfig()) })Licence
MIT
