Skip to content

feat(skill): SolFoundry Claude Code Skill (MCP server) for bounty #844#1373

Closed
akuraposo wants to merge 3 commits into
SolFoundry:mainfrom
akuraposo:mcp/bounty-844-solfoundry-skill
Closed

feat(skill): SolFoundry Claude Code Skill (MCP server) for bounty #844#1373
akuraposo wants to merge 3 commits into
SolFoundry:mainfrom
akuraposo:mcp/bounty-844-solfoundry-skill

Conversation

@akuraposo
Copy link
Copy Markdown

Summary

Full Claude Code skill with MCP server (418 lines) exposing 10 SolFoundry API tools for bounty management directly from Claude CLI.

What this PR adds

  • automaton/skills/solfoundry/mcp_server.py (12.1 KB, 271 lines) — MCP server
  • automaton/skills/solfoundry/SKILL.md (3.3 KB) — installation + usage docs

Acceptance criteria (from #844)

  • CLI commands for bounty CRUD operations — 10 tools: list, get, create, update, delete, claim, submit, batch_create, leaderboard, my_bounties
  • Integration with SolFoundry API — full Bearer token auth + HTTP client
  • Support for batch bounty creation from config files — JSON + YAML supported
  • Claude Code skill format — MCP server with stdio transport, auto-discovered

Tools exposed

Read tools

  • list_bounties(tier?, domain?, min_reward?, max_reward?, limit?) — filter open bounties
  • get_bounty(bounty_id) — get full details
  • get_leaderboard(limit?, period?) — top earners
  • get_my_bounties(status?) — your active bounties

CRUD tools

  • create_bounty(title, description, reward, tier, domain, acceptance_criteria?, deadline_days?)
  • update_bounty(bounty_id, title?, description?, status?)
  • delete_bounty(bounty_id) — only works on drafts

Workflow tools

  • claim_bounty(bounty_id) — locks bounty to your account
  • submit_solution(bounty_id, pr_url, description?) — submit PR

Batch tool

  • batch_create_bounties(config_path, dry_run?) — JSON or YAML config file

Architecture

# MCP server using stdio transport
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp.types import Tool, TextContent

app = Server("solfoundry")

@app.list_tools()
async def list_tools() -> list[Tool]:
    return [Tool(name="...", description="...", inputSchema={...})]

@app.call_tool()
async def call_tool(name: str, arguments: Any) -> list[TextContent]:
    # Route to api_request() with bearer auth
    ...

Setup (3 commands)

# 1. Install dependencies
pip install mcp requests

# 2. Copy server
cp sol_foundry_mcp_server.py ~/.claude/mcp_servers/

# 3. Configure (~/.claude/mcp_servers/solfoundry.json)
{
  "mcpServers": {
    "solfoundry": {
      "command": "python3",
      "args": ["~/.claude/mcp_servers/sol_foundry_mcp_server.py"],
      "env": { "SOLFOUNDRY_API_KEY": "your-key" }
    }
  }
}

Example usage in Claude Code

"List all open T1 bounties with reward ≥ 100K"

"Create a new T1 frontend bounty for adding search, 150K $FNDRY"

"Claim bounty #830 and submit my PR at #1371"

"Use batch_create_bounties with my bounties.json"

File listing

File Size Purpose
automaton/skills/solfoundry/mcp_server.py 12.1 KB MCP server with 10 tools
automaton/skills/solfoundry/SKILL.md 3.3 KB Setup + usage docs

Closes #844
/claim #844

akuraposo added 3 commits June 3, 2026 19:49
…oundry#830

Comprehensive 350+ line tutorial covering:
- What is SolFoundry and how it works
- Step-by-step contributor flow (find bounty, fork, code, test, submit)
- Tier system (T1/T2/T3) and reward structure
- AI review process (Claude, Codex, Gemini scoring)
- Reward claim via Solana wallet
- Common pitfalls + solutions
- FAQ section

Includes code examples (React CountdownTimer), repo structure map,
and pro tips for first-time contributors.

Closes SolFoundry#830
Autonomous Claude agent (700 lines) that:
- Discovers Tier-1 bounties matching its capabilities via GitHub API
- Scores bounties by reward range, tier, domain, language match
- Generates solution templates (React components, docs, workflows, generic)
- Forks the bounty repo and commits the solution
- Creates a PR with proper formatting (Closes #N, /claim #N)
- Supports dry-run mode for testing

Architecture:
- Capability: define what the agent can do
- Bounty: parsed from GitHub issue with reward/tier/domain extraction
- discover_bounties(): multi-repo scan with scoring
- generate_solution_template(): type-aware solution generation
- claim_and_submit(): full pipeline (fork -> commit -> push -> PR)
- Main CLI: --bounty=N, --max-bounties=K, --dry-run, --repos=A B C

Tested on SolFoundry/solfoundry + claude-builders-bounty repos.
Zero hard dependencies beyond requests.

Closes SolFoundry#845
…Foundry#844

Claude Code skill with full MCP server (270 lines Python) exposing 10 tools:
- list_bounties, get_bounty (read)
- create_bounty, update_bounty, delete_bounty (CRUD)
- claim_bounty, submit_solution (workflow)
- batch_create_bounties (multi-bounty from config)
- get_leaderboard, get_my_bounties (analytics)

Architecture:
- mcp.server.Server for protocol handling
- 10 Tool definitions with JSON schemas
- Stdio transport (auto-discovered by Claude Code)
- Bearer token auth via SOLFOUNDRY_API_KEY env
- Batch mode supports JSON + YAML config files
- Graceful error handling (returns TextContent error)

Setup (3 steps documented in SKILL.md):
1. pip install mcp requests
2. Copy script to ~/.claude/mcp_servers/
3. Add to mcp_servers config

Closes SolFoundry#844
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

missing-wallet PR is missing a Solana wallet for bounty payout

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🏭 Bounty T2: Build Claude Code Skill for SolFoundry Bounties

1 participant