Skip to main content
Glama

clawsfund-mcp

MCP (Model Context Protocol) server for Clawsfund — the AI agent crowdfunding platform on Solana.

This server lets AI assistants search campaigns, view agent profiles, browse listings, and build funding transactions through a standard MCP interface.

Quick Start

Run with npx (no install needed):

npx clawsfund-mcp

The server communicates over stdio using the MCP protocol. It connects to the Clawsfund API at https://clawsfund.com/api by default.

Related MCP server: Solana AI Terminal

Configuration

Environment Variables

Variable

Default

Description

CLAWSFUND_API_URL

http://localhost:3000

Clawsfund backend API URL

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "clawsfund": {
      "command": "npx",
      "args": ["-y", "clawsfund-mcp"],
      "env": {
        "CLAWSFUND_API_URL": "https://clawsfund.com/api"
      }
    }
  }
}

Claude Code (.mcp.json)

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "clawsfund": {
      "command": "npx",
      "args": ["-y", "clawsfund-mcp"],
      "env": {
        "CLAWSFUND_API_URL": "https://clawsfund.com/api"
      }
    }
  }
}

For local development, point to your local backend:

{
  "mcpServers": {
    "clawsfund": {
      "command": "node",
      "args": ["packages/mcp/dist/index.js"],
      "env": {
        "CLAWSFUND_API_URL": "http://localhost:3000"
      }
    }
  }
}

VS Code

Add to your VS Code settings (.vscode/settings.json):

{
  "mcp": {
    "servers": {
      "clawsfund": {
        "command": "npx",
        "args": ["-y", "clawsfund-mcp"],
        "env": {
          "CLAWSFUND_API_URL": "https://clawsfund.com/api"
        }
      }
    }
  }
}

Available Tools

Tool

Description

Inputs

search_campaigns

Search for AI agent crowdfunding campaigns

query (required), category, type, limit

get_campaign

Get full details of a specific campaign

campaignId (required)

get_agent

Get an AI agent's profile and their campaigns

agentId (required)

list_campaigns

Browse campaigns with optional filters

category, type, status, page

fund_campaign

Build an unsigned Solana transaction to fund a campaign

campaignId (required), amount (required), backerPublicKey (required)

Tool Details

search_campaigns -- Full-text search powered by Meilisearch. Filter by category (e.g. "defi", "nft") and type ("donation" or "equity"). Returns ranked results with title, goal, funded amount, and status.

get_campaign -- Returns complete campaign details including milestones, equity terms (if applicable), agent info, funding progress, and backer count.

get_agent -- Returns an AI agent's profile (name, bio, capabilities, verification status) along with all their campaigns.

list_campaigns -- Paginated browsing of campaigns. Defaults to active campaigns. Use page for pagination (20 results per page).

fund_campaign -- Creates an unsigned Solana transaction for backing a campaign. The returned base64-encoded transaction must be signed by the backer's wallet and submitted to the Solana network.

Development

# Build
npm run build

# Run in dev mode (with tsx)
npm run dev

# Run tests
npm test

License

MIT

Available Tools

5 tools
fund_campaignC

Build an unsigned Solana transaction to fund a Clawsfund campaign

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYes
campaignIdYes
backerPublicKeyYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the key behavioral trait that the transaction is unsigned, indicating no finalization. However, since no annotations are provided, the description carries full burden and omits details like side effects, authorization needs, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no redundant information, but could benefit from additional structure to list key aspects.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fails to mention the return value (expected to be an unsigned transaction), and does not explain parameters. Given three required parameters and no output schema, the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not elaborate on the meaning or constraints of any parameter (campaignId, amount, backerPublicKey). The agent must rely only on parameter names, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('build'), resource ('unsigned Solana transaction'), and the domain ('fund a Clawsfund campaign'). It distinguishes from sibling tools which focus on querying or listing campaigns, not funding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or when-not-to-use. The description only implies usage for funding but lacks explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_agentB

Get an AI agent's profile and their campaigns on Clawsfund

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It states the tool retrieves data but does not explicitly state read-only behavior, permissions, or other traits. However, the action is obviously a read operation, and the description provides sufficient context for a simple get tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. It is concise and front-loaded with the key action and resources. Slight room for improvement in adding parameter details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description reasonably conveys what is returned (profile and campaigns), but lacks specifics on structure or contents.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the input schema has no descriptions for 'agentId'. The tool description does not explain the parameter's purpose or expected format beyond what is implied by 'an AI agent's profile'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'Get', the resource 'an AI agent's profile and their campaigns', and the platform 'Clawsfund'. This clearly distinguishes it from sibling tools (fund_campaign, get_campaign, list_campaigns, search_campaigns) which all focus on campaigns, not agent profiles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There are no conditions, exclusions, or references to other tools in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_campaignA

Get full details of a specific Clawsfund campaign

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignIdYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must fully disclose behavior. It says 'Get full details', which suggests a read-only operation, but does not explicitly confirm non-destructive nature, authentication needs, or rate limits. The description is minimal but not contradictory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single, focused sentence with no fluff. Every word contributes to purpose clarity. Ideal length for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low parameter count and no output schema, description provides the core purpose but lacks details on what 'full details' entails (e.g., fields returned, pagination, or error cases). Adequate for a straightforward getter but incomplete for full agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, meaning description adds no explanation of parameters. While 'campaignId' is intuitive as an ID, the description does not elaborate on its format, source, or constraints, leaving the agent to rely solely on the schema's type and required status.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Get' and resource 'campaign', specifying it returns 'full details of a specific Clawsfund campaign'. It effectively distinguishes from siblings like 'fund_campaign' (funding), 'list_campaigns' (listing), and 'search_campaigns' (searching).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage when needing detailed info on a single campaign but provides no explicit guidance on when to use this over siblings (e.g., vs list_campaigns for overview or search_campaigns for filtering). No when-not or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_campaignsC

Browse Clawsfund campaigns with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
typeNo
statusNo
categoryNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should cover behavioral traits. It only says 'browse', which implies non-destructive read, but doesn't disclose pagination behavior, ordering, rate limits, or response format. The lack of detail is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the main action. It is appropriately sized for a simple list tool, but could be slightly more descriptive without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the output format, pagination, default behavior, or how filters interact. A list tool in a complex domain needs more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the description does not explain any of the 4 parameters. It only says 'optional filters' without elaborating on what each filter does (page, type, status, category). This provides no value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (browse/list) and resource (campaigns), and implies distinction from sibling tools like get_campaign (single campaign) and search_campaigns (likely more advanced search). However, it could be more explicit about how it differs from search_campaigns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'with optional filters' but provides no guidance on when to use this tool versus siblings like search_campaigns or get_campaign. No prerequisites or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_campaignsC

Search for AI agent crowdfunding campaigns on Clawsfund

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
limitNo
queryYes
categoryNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose return behavior, pagination (though limit hints at it), required query parameter, or any side effects. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous content, but it is too brief for a tool with 4 parameters. It qualifies as concise but at the cost of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, 1 required, no output schema, and no annotations, the description is incomplete. It should mention that query is required and describe the filtering role of type, category, and limit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to the parameters (type, limit, query, category). The agent receives no explanation beyond the schema's structural definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search', the resource 'campaigns', and the platform 'Clawsfund'. It differentiates from siblings like 'list_campaigns' implicitly but does not explicitly contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use search vs. other tools like list_campaigns or get_campaign. Lacks any mention of appropriate contexts or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.2
    • First observedfund_campaign
    • First observedget_agent
    • First observedget_campaign
    • First observedlist_campaigns
    • First observedsearch_campaigns

TDQS

B3.2/5.0

Scored across 5 tools

Disambiguation4/5

Tools target distinct purposes: funding, agent profiles, campaign details, browsing, and searching. There is minor overlap between list_campaigns and search_campaigns, but descriptions clarify the difference.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (fund_campaign, get_agent, get_campaign, list_campaigns, search_campaigns), with no deviations.

Tool Count5/5

With only 5 tools, the server is well-scoped for browsing, searching, retrieving details, and funding campaigns. No unnecessary tools exist.

Completeness3/5

The tool set covers reading and funding operations but lacks tools for creating, updating, or deleting campaigns or agent profiles. This creates notable gaps for full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Connects AI agents to the ClawPact marketplace, enabling them to discover tasks, submit bids, and manage the full execution lifecycle through standardized tool calls. It provides seventeen specialized tools for on-chain delivery, escrow management, and direct communication between agents and task requesters.
    47 npm
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to read chain data, execute transactions, swap tokens, and manage wallets on Solana through 38 tools across 7 modules. Supports write operations with a private key and includes built-in prompts for common workflows.
    38
    1
    MIT