Stacks Clarity MCP Server
# Stacks Clarity MCP Server (Unofficial)
A comprehensive MCP (Model Context Protocol) server for Stacks blockchain development, providing 30+ specialized tools for Clarity smart contracts, SIP compliance, security, and performance optimization.
###### another one brought to you by

> ๐ก **New to MCP?** Check out our [integration guides](integration_guides/) for step-by-step setup instructions for [Cursor](integration_guides/cursor.md), [Claude Code](integration_guides/claude_code.md), or [local development](integration_guides/development_usage.md).
## ๐ Overview
This comprehensive MCP server provides a complete Stacks development toolkit, implementing TIER 1 and TIER 2 priorities for professional Stacks dApp development with security-first patterns and SIP compliance.
### Key Features
- **๐๏ธ Complete SIP Standards Access** - All 30+ SIP standards with full Clarity code
- **๐ Security-First Development** - Mandatory post-conditions for all token transfers
- **โก SIP-012 Performance Optimization** - 2x database capacity and dynamic storage
- **๐จ Token Standards** - Full SIP-009 (NFT) and SIP-010 (FT) implementations
- **๐งช Comprehensive Testing** - Unit, integration, and security test generation
- **๐ง Clarinet Integration** - Complete project setup and management tools
- **๐ฐ Account Management** - STX balances, transaction history, and validation
- **๐ Complete Documentation** - Clarity Book, SIP standards, and integration guides
## ๐ Prerequisites
- [Node.js and npm](https://nodejs.org/en) (npm โฅ 5.2.0)
- [Clarinet CLI](https://github.com/hirosystems/clarinet) (for contract development)
- Stacks wallet (for frontend integration)
- Cursor IDE or Claude Code (for MCP integration)
## ๐ ๏ธ Quick Setup for Cursor/Claude Code
### Option 1: Use Published Package (When Available)
Once published to npm, create `.cursor/mcp.json` in your project:
```json
{
"mcpServers": {
"stacks-clarity-mcp": {
"command": "npx",
"args": ["-y", "@stacks/stacks-clarity-mcp"],
"env": {
"HIRO_API_KEY": "",
"STACKS_NETWORK": "testnet"
}
}
}
}
```
### Option 2: Local Development Setup (Current)
1. **Clone and install**:
```bash
git clone https://github.com/YOUR_USERNAME/stacks-clarity-mcp.git
cd stacks-clarity-mcp
npm install
```
2. **Build the project**:
```bash
npm run build
```
> **Note**: This generates the `dist/` folder with compiled JavaScript. The build is required before running the server.
3. **Configure Cursor** - Create `.cursor/mcp.json` in your project root:
```json
{
"mcpServers": {
"stacks-clarity-mcp": {
"command": "npx",
"args": ["-y", "tsx", "/absolute/path/to/stacks-clarity-mcp/src/server.ts"],
"env": {
"HIRO_API_KEY": "",
"STACKS_NETWORK": "testnet"
}
}
}
}
```
> **Important**: Replace `/absolute/path/to/stacks-clarity-mcp` with your actual path!
4. **Restart Cursor** completely (quit and reopen)
5. **Verify Setup**:
- Go to `Cursor โ Settings โ MCP`
- Look for green indicator next to `stacks-clarity-mcp`
- Switch to **Agent** mode in chat
- Test with: "list available stacks tools"
### Network Options
- `mainnet` - Production Stacks network
- `testnet` - Test network with free tokens
- `devnet` - Local development with Clarinet
### Get Hiro API Key (Optional)
For enhanced features and higher rate limits:
1. Visit [platform.hiro.so](https://platform.hiro.so)
2. Create an account and generate an API key
3. Add to `HIRO_API_KEY` in your config
๐ **Detailed guides**: See [`integration_guides/`](integration_guides/) folder for [Cursor](integration_guides/cursor.md), [Claude Code](integration_guides/claude_code.md), and [Development](integration_guides/development_usage.md) setup.
## ๐ฆ What's Included in the Repository
**Included (pushed to GitHub):**
- โ
`src/` - TypeScript source code (452KB)
- โ
`stacks-clarity-standards/` - All 30+ SIP standards (9.2MB)
- โ
`integration_guides/` - Setup documentation
- โ
`package.json`, `tsconfig.json` - Configuration files
**Excluded (not pushed):**
- โ `node_modules/` - Dependencies (165MB) - install with `npm install`
- โ `dist/` - Build output (448KB) - generate with `npm run build`
- โ `.cursor/` - Local MCP config
- โ `.env` - Environment variables
> **Setup Requirement**: After cloning, you must run `npm install` and `npm run build` before using the MCP server.
## ๐ Available Tools (32 Total)
### ๐ Standards & Documentation (5 tools)
- `list_sips` - Discover all available SIP standards
- `get_sip` - Get specific SIP content (SIP-009, SIP-010, etc.)
- `get_clarity_book` - Complete Clarity language reference (34,000+ lines)
- `get_token_standards` - Essential SIP-009/SIP-010 standards
- `search_sips` - Search SIPs by topic
### ๐ช Token Development (8 tools)
#### SIP-010 Fungible Tokens
- `get_sip010_info` - Token contract information and metadata
- `get_sip010_balance` - Check FT balances for addresses
- `generate_sip010_transfer` - Create transfer transactions with post-conditions
- `generate_sip010_template` - Generate complete SIP-010 compliant contracts
#### SIP-009 Non-Fungible Tokens
- `get_sip009_token_info` - NFT information and metadata
- `get_sip009_collection_info` - Collection-level information
- `generate_sip009_transfer` - Create NFT transfers with post-conditions
- `generate_sip009_template` - Generate complete SIP-009 compliant contracts
### ๐ Security & Post-Conditions (5 tools)
- `generate_fungible_post_condition` - Mandatory FT post-conditions
- `generate_nonfungible_post_condition` - Mandatory NFT post-conditions
- `generate_stx_post_condition` - STX transfer post-conditions
- `analyze_transaction_post_conditions` - Validate transaction security
- `generate_post_condition_template` - Security templates and patterns
### โก Performance Optimization - SIP-012 (3 tools)
- `analyze_contract_performance` - Comprehensive performance analysis
- `estimate_operation_cost` - Cost estimation for Clarity operations
- `generate_optimization_recommendations` - SIP-012 optimization strategies
### ๐ค Account Management (4 tools)
- `get_stacks_account_info` - Comprehensive account information
- `check_stx_balance` - Simple STX and token balance checks
- `get_transaction_history` - Account transaction history with pagination
- `validate_stacks_address` - Address format and network validation
### ๐งช Development & Testing (4 tools)
- `generate_clarinet_project` - Complete Clarinet project setup
- `generate_clarity_contract` - SIP-compliant contract generation
- `generate_contract_tests` - Unit, integration, and security tests
- `configure_clarinet_project` - Network and environment configuration
### ๐จ Frontend Development (3 tools)
- `build_clarity_smart_contract` - Smart contract development guidance
- `build_stacks_frontend` - Frontend integration with @stacks/connect
- `build_stacks_dapp` - Complete full-stack development guide
## ๐ Quick Start Guide
### 1. Explore Available Standards
```typescript
// Discover all SIP standards
use tool: list_sips
// Get specific token standards
use tool: get_token_standards
// Access complete Clarity reference
use tool: get_clarity_book
```
### 2. Build a SIP-010 Token
```typescript
// Generate compliant token contract
use tool: generate_sip010_template
params: {
tokenName: "MyToken",
symbol: "MTK",
decimals: 6,
features: ["minting", "burning"]
}
// Create secure transfer
use tool: generate_sip010_transfer
params: {
contractId: "ST1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R.my-token",
amount: 1000000,
sender: "ST1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R",
recipient: "ST2CY5V39NHDPWSXMW9QDT3HC3GD6Q6XX4CFRK9AG",
memo: "Secure transfer with post-conditions"
}
```
### 3. Set Up Development Environment
```typescript
// Initialize Clarinet project
use tool: generate_clarinet_project
params: {
projectName: "my-stacks-project",
template: "fungible-token"
}
// Generate comprehensive tests
use tool: generate_contract_tests
params: {
contractName: "my-token",
testType: "security",
scenarios: ["post-conditions", "authorization"]
}
```
## ๐ Security Features
### Mandatory Post-Conditions
All token transfers **MUST** include post-conditions. The MCP server enforces this:
```typescript
// โ
CORRECT: Transfer with post-conditions
use tool: generate_fungible_post_condition
params: {
address: "ST1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R",
contractId: "ST1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R.token",
amount: 1000000,
condition: "equal"
}
// Always use PostConditionMode.Deny for maximum security
```
### SIP Compliance Enforcement
- Automatic SIP-009 and SIP-010 compliance checking
- Native asset function usage (ft-transfer?, nft-transfer?)
- Proper error handling and authorization patterns
## โก Performance Optimization
### SIP-012 Benefits
- **2x Database Operations**: Increased read/write limits per block
- **Dynamic List Storage**: Pay only for actual data size
- **Optimized Cost Functions**: 100+ improved cost calculations
```typescript
// Analyze contract performance
use tool: analyze_contract_performance
params: {
contractCode: "...", // Your Clarity contract
optimizationLevel: "advanced"
}
// Get optimization recommendations
use tool: generate_optimization_recommendations
params: {
contractPattern: "token-contract",
currentIssues: ["high gas costs", "multiple map operations"]
}
```
## ๐ Comprehensive Documentation
Access to complete Stacks development resources:
- **34,000+ lines** of Clarity Book documentation
- **30+ SIP standards** with full implementations
- **Security patterns** and best practices
- **Performance optimization** guides
- **Frontend integration** examples
## ๐๏ธ Integration Examples
### React Frontend with @stacks/connect
```typescript
// Get complete frontend guidance
use tool: build_stacks_frontend
// Generate wallet connection code
// Transaction signing with post-conditions
// Error handling and user experience
```
### DeFi Protocol Development
```typescript
// Performance-optimized DeFi contract
use tool: generate_clarity_contract
params: {
contractName: "amm-pool",
contractType: "custom",
features: ["governance", "staking"]
}
// Security testing
use tool: generate_contract_tests
params: {
contractName: "amm-pool",
testType: "security",
scenarios: ["reentrancy", "authorization", "post-conditions"]
}
```
### NFT Marketplace
```typescript
// SIP-009 compliant NFT collection
use tool: generate_sip009_template
params: {
collectionName: "Art Collection",
symbol: "ART",
features: ["metadata", "royalties"]
}
// Marketplace contract with escrow
use tool: generate_clarity_contract
params: {
contractName: "nft-marketplace",
contractType: "custom",
features: ["escrow", "royalties"]
}
```
## ๐ง Development Workflow
1. **Research Standards**: Use `list_sips` and `get_sip` to understand requirements
2. **Generate Contracts**: Use template tools for SIP-compliant implementations
3. **Security Testing**: Generate comprehensive security test suites
4. **Performance Optimization**: Analyze and optimize using SIP-012 tools
5. **Frontend Integration**: Build user interfaces with wallet connectivity
6. **Deployment**: Use Clarinet tools for production deployment
## ๐ Production Checklist
- โ
SIP compliance validated
- โ
Mandatory post-conditions implemented
- โ
Security tests passing
- โ
Performance optimized with SIP-012
- โ
Frontend properly integrated
- โ
All tests (unit, integration, security) passing
## ๐ Troubleshooting
### MCP Server Not Appearing in Cursor
1. **Check MCP Settings**:
- Go to `Cursor โ Settings โ Cursor Settings โ MCP`
- Look for `stacks-clarity-mcp` entry
- Check if indicator is green (connected) or red (error)
- Click on the entry to see error details
2. **Verify Configuration**:
- Ensure `.cursor/mcp.json` exists in project root
- For local development, use **absolute path** to `server.ts`
- Check that Node.js is installed: `node --version`
3. **Restart Cursor**:
- Completely quit Cursor (not just close window)
- Reopen Cursor
- Wait 10-15 seconds for MCP to initialize
4. **Check Agent Mode**:
- In Cursor chat, ensure dropdown is set to **Agent** (not normal chat)
- MCP tools only work in Agent mode
5. **Test MCP Connection**:
```bash
# Test the server directly
npx tsx /path/to/server.ts
# Or use MCP Inspector
npx @modelcontextprotocol/inspector
```
### Common Issues
**"Command not found"**: Make sure you're using `npx tsx` not just `tsx`
**"Module not found"**: Run `npm install` in the MCP server directory
**Build errors**: For local development, use `tsx` to run from source (skips build step)
**Tools not visible**: Ensure you're in **Agent mode** and the MCP shows green indicator
### Getting Help
- Check [integration guides](integration_guides/) for detailed setup
- Review [development_usage.md](integration_guides/development_usage.md) for local development
- Use MCP Inspector to test tools: `npx @modelcontextprotocol/inspector`
## ๐ค Contributing
This MCP server implements the complete Stacks development stack. Contributions should maintain:
- Security-first principles
- SIP standard compliance
- Performance optimization focus
- Comprehensive documentation
## ๐ License
This project is licensed under the Apache-2.0 License.
## ๐ Resources
- [Stacks Documentation](https://docs.stacks.co/)
- [Clarity Language Reference](https://docs.stacks.co/clarity/)
- [SIP Standards](https://github.com/stacksgov/sips)
- [Clarinet CLI](https://github.com/hirosystems/clarinet)
- [Stacks.js](https://github.com/hirosystems/stacks.js)
---
**Built for professional Stacks development with security, performance, and compliance as top priorities.**
TDQS
Scored across 36 tools
Most tools have distinct purposes, but there is some overlap in generation and analysis tools. For example, generate_clarity_contract and generate_sip009_template both create contracts, though one is generic and the other specific. Similarly, analyze_contract_performance and generate_optimization_recommendations both focus on optimization, which could cause confusion. However, descriptions help differentiate them, and most tools target unique resources or actions.
Tool names follow a highly consistent verb_noun pattern throughout, such as analyze_contract_performance, check_stx_balance, and generate_sip009_template. There are no deviations in naming conventions, with all tools using snake_case and clear, descriptive verbs. This predictability makes it easy for agents to understand and select tools.
With 36 tools, the count is excessive for the server's purpose of Stacks Clarity development and management. Many tools could be consolidated or removed without losing functionality, such as multiple generate_* tools or prompt tools. This large number may overwhelm agents and lead to inefficiency, indicating a poor scope management.
The tool set provides comprehensive coverage for Stacks Clarity development, including contract analysis, generation, testing, token standards (SIP-009/010), transaction handling, balance checks, and debugging. There are no obvious gaps; it supports full CRUD/lifecycle operations for contracts and tokens, along with essential utilities like address validation and version checking.