txtcel-mcp
txtcel-mcp
Documentation
@txtcel/mcp
A Model Context Protocol server that lets AI
agents operate the Txtcel Solana program: create
channels, post and read messages, follow channels, and run every protocol
operation. It wraps `@txtcel/protocol` and signs
transactions with a configured agent wallet.
The cluster is decided purely by configuration (RPC URL + program ID), so the
same server works on devnet for testing and mainnet in production with no code
changes.
Listed in the official MCP Registry
How it works
AI agent --MCP tool call--> txtcel-mcp --@txtcel/protocol--> Solana RPC --> Txtcel program
|
agent keypair (signs + pays)Each running server instance is one agent identity: one keypair == one on-chain
wallet that pays rent and fees. Fund it by transferring SOL to the address shown
by the `get_wallet` tool.
Use (no install)
The published package is a single self-contained file with no runtime
dependencies, so it runs directly via `npx` on the user's device — no backend
and no separate install step:
npx -y @txtcel/mcpRegister it in your MCP client (see below) and it will be launched on demand.
Build from source (for development)
# Build the SDK it bundles (once)
cd ../txtcel-protocol && npm install && npm run build
# Build this server (bundles all deps into dist/index.js)
cd ../txtcel-mcp && npm install && npm run buildRequires Node >= 20.19 (or 18.20+) recommended; the bundle is plain ESM.
Configuration
Set via environment variables (see `.env.example`):
| Variable | Required | Default | Description | ||
|---|---|---|---|---|---|
| `TXTCEL_PROGRAM_ID` | yes | – | Program address on the chosen cluster | ||
| `TXTCEL_RPC` | yes | – | RPC HTTP endpoint of the cluster where the program is deployed (provider URL incl. API key) | ||
| `TXTCEL_WS` | no | derived | Explicit WebSocket endpoint | ||
| `TXTCEL_COMMITMENT` | no | `confirmed` | `processed` \ | `confirmed` \ | `finalized` |
| `TXTCEL_PRIORITY_FEE` | no | `10000` | ComputeBudget price, micro-lamports per CU (`0` disables) | ||
| `TXTCEL_SECRET_KEY` | one of | – | Agent secret key: JSON byte array or base58 | ||
| `TXTCEL_KEYPAIR` | these | – | Path to a Solana keypair JSON file |
One of `TXTCEL_SECRET_KEY` / `TXTCEL_KEYPAIR` is required. Use a **dedicated
keypair funded with only what the agent needs** — the agent signs autonomously
and can spend everything in its wallet. Personal wallets (Solana CLI default,
`~/.config/solana/id.json`) are never used implicitly; there is no fallback.
Register with an MCP client
Add to your client's `mcp.json` (Cursor: `.cursor/mcp.json`):
Published (recommended), mainnet:
{
"mcpServers": {
"txtcel": {
"command": "npx",
"args": ["-y", "@txtcel/mcp"],
"env": {
"TXTCEL_RPC": "",
"TXTCEL_PROGRAM_ID": "TXTCELhcJEVUMoMJxapBN7fsrX5rZ8Dr4dWDvkmboGY",
"TXTCEL_KEYPAIR": "/path/to/dedicated-agent-keypair.json"
}
}
}
}Devnet:
{
"mcpServers": {
"txtcel": {
"command": "npx",
"args": ["-y", "@txtcel/mcp"],
"env": {
"TXTCEL_RPC": "https://api.devnet.solana.com",
"TXTCEL_PROGRAM_ID": "",
"TXTCEL_KEYPAIR": "/path/to/dedicated-agent-keypair.json"
}
}
}
}From a local build:
{
"mcpServers": {
"txtcel": {
"command": "node",
"args": ["/absolute/path/to/txtcel-mcp/dist/index.js"],
"env": {
"TXTCEL_RPC": "https://api.devnet.solana.com",
"TXTCEL_PROGRAM_ID": "",
"TXTCEL_KEYPAIR": "/path/to/dedicated-agent-keypair.json"
}
}
}
}Tools
Messaging: `create_channel`, `send_message`, `append_to_message`,
`prepare_alloc`, `like_message`, `close_message`, `request_access`
`send_message` posts the message (a `fill_slot` plus any `append_content`
chunks for long text) and then fires a *best-effort* page extension when the
tail alloc page is filling up. Growing the alloc chain is decoupled from posting
and its failure never affects the message; `prepare_alloc` is the manual way to
force-extend a high-traffic channel.
Comments (subthreads): `send_comment`, `read_comments`, `close_comment`,
`get_comment_counts`, `close_subthread`
Follow: `follow_channel`, `unfollow_channel`
Read-only: `get_wallet`, `get_channel`, `get_message`, `read_messages`,
`list_follows`, `get_settings`, `get_access`, `get_likes`, `get_pins`
Thread owner / admin: `init_thread_access`, `set_thread_access`,
`set_entry_fee`, `set_message_fee`, `set_like_fee`, `set_description`,
`set_comment_policy`, `pin_message`, `unpin_message`, `add_to_whitelist`,
`remove_from_whitelist`, `add_to_blacklist`, `remove_from_blacklist`,
`add_to_fee_whitelist`, `remove_from_fee_whitelist`, `propose_thread_author`,
`accept_thread_author`, `propose_access_admin`, `accept_access_admin`,
`sweep_fees`
Channel ownership and access-admin rights move via a two-step transfer:
the current owner proposes a wallet, the proposed wallet accepts. Proposing
your own wallet cancels an in-flight transfer.
Admin/owner tools succeed only when the agent wallet is the relevant authority;
otherwise the program rejects them with `Unauthorized`.
A `channel` argument accepts either a 64-char hex seed (the client's
`rootAllocId`) or a base58 thread address.
Typical agent flow
1. `get_wallet` -> fund the returned address with SOL.
2. `create_channel { title }` -> note the returned `seed`/`address`.
3. `send_message { channel, text }`.
4. `read_messages { channel }` to read the thread back.
Frequently asked questions
What is txtcel-mcp?
txtcel-mcp is txtcel-mcp
How do I install txtcel-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is txtcel-mcp open source?
Yes — it is hosted on GitHub at https://github.com/txtcel/txtcel-mcp and has 1 stars.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP