Documentation

Complete guide to the Intuition MCP Server

Introduction

The Intuition MCP Server provides a Model Context Protocol interface for querying trust scores, attestations, and verifying credentials on the Intuition network. It enables AI assistants like Claude to access on-chain reputation and attestation data.

Installation

1. Clone and Install

git clone https://github.com/yourusername/intuition-mcp-server
cd intuition-mcp-server
npm install

2. Configure Environment

# .env.local
NEXT_PUBLIC_INTUITION_GRAPH_URL=https://graph.intuition.systems/graphql

3. Run Development Server

npm run dev

Claude Desktop Integration

Configure MCP Server

Add the following configuration to your Claude Desktop config file

Config file location:

  • • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "intuition": {
      "command": "node",
      "args": [
        "C:/absolute/path/to/intuition-mcp-server/lib/mcp/server.js"
      ],
      "env": {
        "NEXT_PUBLIC_INTUITION_GRAPH_URL": "https://graph.intuition.systems/graphql"
      }
    }
  }
}

After updating the config, restart Claude Desktop for changes to take effect.

MCP Tools Reference

getTrustScore

Get comprehensive trust score for an Ethereum address

Parameters
  • address (string, required): Ethereum address (0x...)
Returns
{
  "address": "0x...",
  "score": 85.5,
  "attestationCount": 42,
  "positiveAttestations": 38,
  "negativeAttestations": 4,
  "lastUpdated": 1234567890,
  "breakdown": {
    "credibility": 88.2,
    "expertise": 90.1,
    "reliability": 82.5,
    "reputation": 85.5
  }
}
Example Usage
// In Claude conversation:
"What is the trust score for address 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb?"

getAttestations

Query attestations with flexible filters

Parameters
  • creator (string, optional): Filter by creator address
  • subject (string, optional): Filter by subject address
  • predicate (string, optional): Filter by predicate/claim type
  • object (string, optional): Filter by object value
  • minConfidence (number, optional): Minimum confidence (0-1)
  • limit (number, optional): Max results (default: 100, max: 1000)
  • offset (number, optional): Pagination offset
Returns
[
  {
    "id": "triple-123",
    "creator": "0x...",
    "subject": "0x...",
    "predicate": "expert-in-solidity",
    "object": "true",
    "timestamp": 1234567890,
    "confidence": 0.95,
    "stake": "vault-456"
  }
]
Example Usage
// In Claude conversation:
"Show me all attestations for address 0x... with predicate 'expert-in-defi'"

verifyCredential

Verify if an address has a specific credential or claim

Parameters
  • address (string, required): Ethereum address to verify
  • claim (string, required): Credential/claim to verify
Returns
{
  "verified": true,
  "attestations": [...],
  "confidence": 0.92,
  "message": "Address 0x... has 5 attestation(s) for 'expert-in-defi' with 92.0% confidence"
}
Example Usage
// In Claude conversation:
"Is address 0x... verified as 'trusted-developer'?"

findTrustedExperts

Find and rank experts in a specific topic or domain

Parameters
  • topic (string, required): Topic or domain to search
  • limit (number, optional): Max experts (default: 10, max: 100)
Returns
[
  {
    "address": "0x...",
    "trustScore": 92.5,
    "attestationCount": 47,
    "specializations": ["solidity"],
    "recentActivity": 1234567890
  }
]
Example Usage
// In Claude conversation:
"Who are the top 5 experts in 'smart-contract-security'?"

HTTP API Endpoints

You can also access the MCP tools via HTTP endpoints when running the Next.js development server.

GET /api/trust-score

curl "http://localhost:3000/api/trust-score?address=0x..."

GET /api/attestations

curl "http://localhost:3000/api/attestations?subject=0x...&limit=50"

POST /api/mcp

curl -X POST http://localhost:3000/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "verifyCredential",
    "params": {
      "address": "0x...",
      "claim": "expert-in-defi"
    }
  }'

TypeScript Types

interface TrustScore {
  address: string;
  score: number;
  attestationCount: number;
  positiveAttestations: number;
  negativeAttestations: number;
  lastUpdated: number;
  breakdown: {
    credibility: number;
    expertise: number;
    reliability: number;
    reputation: number;
  };
}

interface Attestation {
  id: string;
  creator: string;
  subject: string;
  predicate: string;
  object: string;
  timestamp: number;
  confidence: number;
  stake?: string;
  metadata?: Record<string, any>;
}

interface VerificationResult {
  verified: boolean;
  attestations: Attestation[];
  confidence: number;
  message: string;
}

interface Expert {
  address: string;
  trustScore: number;
  attestationCount: number;
  specializations: string[];
  recentActivity: number;
}

Resources

Intuition Systems

Learn about the Intuition protocol

Model Context Protocol

Official MCP documentation

Try Dashboard

Test the API in your browser

GitHub Repository

View source code