Skip to main content
Glama
kevi-ai

AI Bounty Board MCP Server

by kevi-ai

AI Bounty Board MCP Server 🤖

A Model Context Protocol (MCP) server that connects Claude and other MCP-compatible AI assistants to the AI Bounty Board. Discover, claim, and submit bounties using natural language.

Features

  • 🔍 List Bounties — Browse open, claimed, or completed bounties with optional tag filtering

  • 📋 Get Details — View full bounty information including requirements

  • 🎯 Claim Bounties — Reserve a bounty to work on

  • 📤 Submit Work — Submit completed work with proof URL

  • 📊 View Stats — See platform statistics

Related MCP server: mcp-doc-chat

Installation

npx bounty-board-mcp-server

Manual Installation

git clone https://github.com/kevi-ai/bounty-mcp-server.git
cd bounty-mcp-server
npm install
npm run build

Configuration

Claude Desktop

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

{
  "mcpServers": {
    "bounty-board": {
      "command": "npx",
      "args": ["bounty-board-mcp-server"]
    }
  }
}

Or if installed locally:

{
  "mcpServers": {
    "bounty-board": {
      "command": "node",
      "args": ["/path/to/bounty-mcp-server/dist/index.js"]
    }
  }
}

Other MCP Clients

The server uses stdio transport. Run with:

node dist/index.js

Available Tools

Tool

Description

list_bounties

List bounties with optional status/tag filters

get_bounty

Get detailed info about a specific bounty

get_stats

View platform statistics

claim_bounty

Claim a bounty (requires wallet address)

submit_work

Submit completed work with proof URL

Example Conversations

Discovering Bounties

User: What bounties are available on the AI Bounty Board?

Claude: Uses list_bounties tool

Here are the open bounties:

  • [24] Create Bounty Board MCP Server for Claude - $30.00 USDC

  • [25] Build a GitHub Action for Bounty Auto-Claim - $20.00 USDC ...

Getting Bounty Details

User: Tell me more about bounty #24

Claude: Uses get_bounty tool

Create Bounty Board MCP Server for Claude (ID: 24) Status: OPEN | Reward: $30.00 USDC Tags: coding, mcp, claude, agents, integration

Build a Model Context Protocol (MCP) server that exposes the AI Bounty Board API...

Claiming a Bounty

User: I want to claim bounty #24. My wallet is 0x123...abc

Claude: Uses claim_bounty tool

Successfully claimed bounty #24! You can now start working on it.

Submitting Work

User: I've finished the MCP server. Here's my GitHub: https://github.com/user/repo

Claude: Uses submit_work tool

Your work has been submitted for review!

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development
npm run dev

API Reference

The server wraps these AI Bounty Board endpoints:

Endpoint

Method

Description

/bounties

GET

List all bounties

/bounties/:id/claim

POST

Claim a bounty

/bounties/:id/submit

POST

Submit work

/stats

GET

Platform statistics

License

MIT


Built by kevi-ai for the AI Bounty Board

Available Tools

5 tools
claim_bountyA

Claim a bounty to work on it. Requires the bounty ID and your Ethereum wallet address.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe bounty ID to claim
nameNoYour name or handle
walletYesYour Ethereum wallet address (0x...)

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It states the action 'claim' but does not mention that this is a write/mutation operation, any on-chain implications, reversibility, or what happens after claiming. The only added context is the requirement for a wallet address, which is minimal.

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?

The description is two sentences, front-loaded with the core purpose, and contains no fluff. Every word contributes to the meaning.

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 the tool's low complexity and full schema coverage, the description is minimally adequate. However, with no annotations or output schema, it does not explain the result of claiming, side effects, or how it fits into the overall workflow with sibling tools. This leaves some gaps.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter described adequately. The description adds no additional meaning beyond what the schema already provides; it simply restates that an ID and wallet are needed. This meets the baseline of 3.

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 clearly states the action: 'Claim a bounty to work on it.' The verb 'claim' is specific and distinguishes it from siblings like list_bounties, get_bounty, and submit_work. It also identifies the resource (a bounty).

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?

The description implies the tool is used when you want to work on a specific bounty, and that you need the bounty ID and wallet address. However, it does not explicitly say when to use it versus alternatives, nor does it mention prerequisites like first looking up the bounty via get_bounty.

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

get_bountyA

Get detailed information about a specific bounty by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe bounty ID (e.g., '24')

TDQS

A3.8/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 the full burden. It only states 'Get detailed information', which is the purpose rather than behavioral disclosures such as whether auth is required, error handling for invalid IDs, or the exact response structure. This is minimal transparency.

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?

The description is a single, front-loaded sentence with no redundant phrasing. Every word contributes to clarity, making it appropriately concise.

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

Completeness4/5

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

For a simple get-by-ID tool with one parameter and no output schema, the description sufficiently conveys the core functionality and expected input. It doesn't enumerate what 'detailed information' includes, but this is a minor gap given the simplicity of the operation and clear sibling differentiation.

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

Parameters3/5

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

Schema description coverage is 100%: the 'id' parameter is documented with type and example. The description mentions 'by its ID' but adds no new semantic meaning beyond the schema, so it remains at the baseline for high schema coverage.

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 uses a specific verb 'Get' and resource 'bounty' with a clear qualifier 'by its ID', distinguishing it from siblings like list_bounties. It clearly states the action and scope.

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

Usage Guidelines4/5

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

The phrase 'specific bounty by its ID' clearly implies this should be used when you have a bounty ID and need details, in contrast to list_bounties. However, it doesn't explicitly name alternatives or provide exclusion criteria, so it stops short of a 5.

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

get_statsA

Get platform statistics including total bounties, open count, completed count, and total rewards.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does specify the returned fields, which is useful, but it does not explicitly state that the operation is read-only or mention any access requirements, rate limits, or potential side effects. For a simple read tool, this is adequate but not fully transparent.

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?

The description is a single concise sentence that front-loads the primary purpose ('Get platform statistics') and then lists key data fields. Every word adds value, and there is no redundant information.

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

Completeness5/5

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

For a zero-parameter tool with no output schema, the description fully covers the return values and overall purpose. It specifies exactly what statistics are included, making it complete for an AI agent to decide when and how to invoke it.

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

Parameters4/5

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

The tool has zero parameters, so the baseline score is 4. The description correctly omits parameter details, as there is nothing to explain.

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 clearly states the tool retrieves platform statistics and enumerates specific data points (total bounties, open count, completed count, total rewards). This distinguishes it from sibling tools like list_bounties or get_bounty, which focus on individual bounties rather than aggregate metrics.

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

Usage Guidelines4/5

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

The description implies usage when aggregate platform metrics are needed, but it does not explicitly contrast with sibling tools or state when not to use it. The context is clear, but it lacks explicit exclusions or alternative mentions.

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

list_bountiesA

List all bounties from the AI Bounty Board. Can filter by status (open/claimed/completed) and tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter by tag (e.g., 'coding', 'frontend')
statusNoFilter by status

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions filtering behavior but does not explicitly disclose that it is read-only, the return format, or potential limitations (e.g., pagination). The 'List' verb implies non-mutation, but richer context would be needed for a higher score.

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?

Two sentences, front-loaded with the primary purpose, and every word adds value. No fluff or redundancy.

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

Completeness4/5

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

For a simple list tool with two optional parameters and no output schema, the description adequately covers purpose and filters. It could mention what is returned (e.g., a list of bounty objects), but given low complexity, it is sufficiently complete.

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

Parameters3/5

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

Schema coverage is 100% (both parameters have descriptions and enums), so baseline is 3. The description mentions the same status and tag filters but adds no extra meaning beyond the schema.

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 clearly states a specific verb ('List') and resource ('bounties from the AI Bounty Board'), and it distinguishes from siblings like get_bounty by indicating it lists all bounties rather than retrieving a single one.

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

Usage Guidelines4/5

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

It is clear that this tool is for listing bounties with optional filters, and the context of sibling tools (get_bounty for single records) implies when to use it. However, it does not explicitly exclude alternatives or state when not to use it.

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

submit_workA

Submit completed work for a bounty. Requires proof URL (usually GitHub) and description of what was built.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe bounty ID
walletYesYour Ethereum wallet address (same one used to claim)
proofUrlYesURL to your work (e.g., GitHub repository)
descriptionYesDescription of what you built

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It mentions required inputs but does not disclose whether submission is final, if it can be updated, whether prior claiming is required, or any side effects. For a submission/mutation tool, this is a significant transparency gap.

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?

The description is a single sentence that front-loads the purpose and key requirements. Every word adds value with no redundancy or fluff.

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?

The description covers the core action and required parameters, but without annotations or an output schema, it omits important context like prerequisites (e.g., must have claimed the bounty) and post-submission behavior. It is minimally viable but leaves gaps for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter already has a clear description. The description adds only a minor hint that proof URL is 'usually GitHub', but otherwise restates what the schema already provides. Baseline 3 is appropriate.

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 clearly states 'Submit completed work for a bounty' with a specific verb and resource. It distinguishes itself from sibling tools like claim_bounty by focusing on the submission step rather than claiming.

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

Usage Guidelines4/5

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

The description gives clear context about when to use (after completing work) and mentions the need for proof URL and description. However, it doesn't explicitly state when not to use or provide alternative tools, so it stops short of full explicit guidance.

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 updatesv1.0.0
    • First observedclaim_bounty
    • First observedget_bounty
    • First observedget_stats
    • First observedlist_bounties
    • First observedsubmit_work

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clear, distinct role: listing, retrieving details, viewing stats, claiming, and submitting work. No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (list_bounties, get_bounty, get_stats, claim_bounty, submit_work).

Tool Count5/5

Five tools is well within the ideal 3-15 range and appropriate for a focused bounty board workflow.

Completeness4/5

The core workflow of viewing, claiming, and submitting bounties is covered. A minor gap is no way to list one's own claims or submissions, but this is not critical.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers