Shape MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Shape MCP Serverwho are the top 5 gasback earners on shape?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Shape MCP Server
Model Context Protocol (MCP) server for Shape, built with xmcp. This server provides AI assistants access to Shape's onchain data: gasback distribution, collections analytics, stack users & more.
Contributions are welcome! Fork and add your own tools, feel free to submit a PR.
Check our docs about how to build AI on Shape: https://docs.shape.network/building-on-shape/ai
Features
Organized by functionality for easy extension:
Gasback Analytics - Track creator earnings, top performers, and simulate gasback earned
NFT Analysis - Collections and ownership
Stack Achievements - Monitor user progress in Shape's Stack ecosystem
Network Monitoring - Chain health, metrics, RPC URLs, etc
AI Ready - Tools are optimized for agent chaining and automation
Caching - Optional Redis for snappier responses & less load on RPCs, no lock-in required
Available Tools
Network Tools (/tools/network/)
getChainStatus
Monitor Shape's network: RPC health, gas prices, block times, etc.
Example prompt: "current shape status? gas prices looking mint-friendly?"
NFT Tools (/tools/nft/)
getCollectionAnalytics
Collection stats: supply, owners, sample NFTs, floors, etc.
Example prompt: "what's the vibe on collection 0x567...abc? floor price and top holders?"
getShapeNft
List NFTs for an address, with metadata.
Example prompt: "what NFTs does 0xabcd...123 hold on shape?"
Gasback Tools (/tools/gasback/)
getShapeCreatorAnalytics
Shape builder/creator deep dive: earnings, tokens, withdrawals, etc.
Example prompt: "analyze creator 0xabcd...123's gasback and compare to top earners. any tips?"
getTopShapeCreators
Top creators by gasback earned & tx.
Example prompt: "who are shape's top 10 gasback earners?"
simulateGasbackRewards
Get gasback rough estimates.
Example prompt: "simulate 50 txs/day at 50k gasβearnings over 3 months? wen lambo?"
ποΈ Stack Tools (/tools/stack/)
getStackAchievements
User medals by tier, total count, etc.
Example prompt: "what's 0xghi...123's stack status? gold medals?"
Quick Test (No Setup Required)
Want to try the MCP server without local setup? Point directly to our deployed instance:
{
"mcpServers": {
"shape-mcp": {
"url": "https://shape-mcp-server.vercel.app/mcp"
}
}
}Note: This deployed version is rate limited and is intended for testing/sandbox use only. For production AI applications, we recommend self-hosting your own instance following the setup instructions above.
Prerequisites
Alchemy API key for NFT queries (get one here)
MCP client like Cursor IDE, Claude Desktop or your AI client of choice
Optional: Redis for caching (speeds up RPC-heavy tools)
Setup
1. Environment Configuration
Copy .env.example to .env and fill in:
ALCHEMY_API_KEY=your_key_here
CHAIN_ID=360 # Mainnet; use 11011 for Sepolia
# Optional caching
REDIS_URL=redis://localhost:6379 # Local, or Upstash for prod2. Install Dependencies
yarn install3. Run Locally
yarn devServer is now running at http://localhost:3002/mcp
π Client Integration
MCP Settings
Add to your MCP settings in Cursor for eg:
{
"mcpServers": {
"shape-mcp": {
"url": "http://localhost:3002/mcp"
}
}
}Project Structure
src/
βββ tools/ # Modular tools
β βββ gasback/
β βββ network/
β βββ nft/
β βββ stack/
βββ abi/ # Contract interfaces
βββ utils/ # Helpers like cache.ts
βββ addresses.ts # Key contracts addys
βββ clients.ts # RPC/Alchemy/Redis
βββ config.ts # Env-based setup
βββ middleware.ts # Auth/logging if needed
βββ types.ts # Shared outputs
βββ xmcp.config.ts # xmcp server configCategories keep things modular. Add a tool to /tools/gasback/ and xmcp auto-picks it up. No monolith mess.
Adding New Tools
Pick a category folder (e.g., /tools/gasback/)
New .ts file with schema, metadata, function
Example:
import { z } from 'zod';
import { type InferSchema } from 'xmcp';
export const schema = {
address: z.string().describe('Wallet to analyze'),
};
export const metadata = {
name: 'myTool',
description: 'Custom tool for fun insights',
annotations: {
title: 'My Tool',
readOnlyHint: true,
destructiveHint: false,
idempotentHint: true,
requiresWallet: false,
category: 'gasback',
chainableWith: ['getShapeCreatorAnalytics'],
},
};
export default async function myTool({ address }: InferSchema<typeof schema>) {
// Logic here
return {
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
};
}Caching (Optional)
Redis cuts RPC load for repeat calls. Set REDIS_URL to your instance (Vercel KV or Upstash). Skip it? Tools run direct, no sweat. See cache.ts for the simple get/set logic.
Deploy Your Own
Fork this repo and deploy your personal MCP:
Import to Vercel: New Project
Set env vars:
SHAPE_RPC_URL(your node),ALCHEMY_API_KEY,CHAIN_ID(360for mainnet, or11011for testnet), optionalREDIS_URLDeployβaccess at your-vercel-url/mcp!
RPC Setup
Use your own Alchemy API key to avoid public RPC limits. Default falls back to Shapeβs public node https://mainnet.shape.network and https://sepolia.shape.network.
Resources
Support
Contact @williamhzo or hop into Shape Discord.
MIT LICENSE - See LICENSE
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shape-network/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server