gibwork-hunter-mcp
Integrates with Gibwork on Solana to discover funded escrow bounties, verify deliverables against bounty requirements, and prepare Ed25519-signed proof submissions for Solana-based escrow settlement.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gibwork-hunter-mcpfind open Gibwork bounties with at least 500 USDC in TypeScript"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π― gibwork-hunter-mcp
Autonomous AI Agent Bounty Hunting Toolset & Model Context Protocol (MCP) Server for Gibwork on Solana.
Built for the Gibwork Developer Hackathon ($1,000 USDC), gibwork-hunter-mcp is a specialized, production-ready non-web-app developer tool that connects autonomous LLM coding assistants (Claude Desktop, Cursor, Antigravity, Gemini) directly to Gibwork on Solana.
β‘ Overview
Coding AI agents typically operate in isolation from real-world economic incentives. Gibwork Hunter MCP bridges this gap:
Discovery: Agents query active, funded bounties locked in Solana escrows, filtered by ROI, skills, and reward thresholds.
Deterministic Verification: Before submitting, agents evaluate their local workspace against the bounty's exact requirements checklist (file patterns, strict typechecks, test suite execution, and SHA-256 fingerprinting).
Cryptographic Proof Submission: Agents prepare, sign (Ed25519), and register verifiable deliverable proofs directly to Gibwork and Solana.
Related MCP server: Escrow Sentinel
ποΈ Architecture & Workflow
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LLM Coding Assistants / Autonomous AI Agents β
β (Claude Desktop, Cursor, Antigravity, Gemini) β
ββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β Stdio JSON-RPC (MCP)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β gibwork-hunter-mcp β
β β
β βββββββββββββββββββββββββ βββββββββββββββββββββββββ β
β β Bounty Query Engine β β Deterministic Verifierβ β
β β - ROI Scoring β β - File existence β β
β β - Escrow Inspection β β - Pattern matching β β
β β - Skill Filtering β β - Test suite runner β β
β ββββββββββββ¬βββββββββββββ β - SHA256 Fingerprint β β
β β βββββββββββββ¬ββββββββββββ β
β β β β
β βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Ed25519 Cryptographic Signer β β
β β - Solana Keypair / TweetNaCl detached β β
β β - Verifiable Payload Attestation β β
β ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β Live SDK / Staging API
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Gibwork on Solana β
β - Escrow Smart Contract (USDC / SPL) β
β - Task Registry & Submission Settlement β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ οΈ MCP Tools Exposed
When added to your LLM assistant (e.g. Claude Desktop or Cursor), the following 4 tools become available:
Tool Name | Parameters | Description |
|
| Lists open bounties sorted by prize/ROI with summary table |
|
| Fetches full specification, requirements checklist, escrow address, and sponsor reputation |
|
| Deterministically validates local workspace code against requirements checklist |
|
| Prepares, cryptographically signs with Ed25519 Solana keypair, and submits proof |
π» CLI Commands (gibwork-cli)
gibwork-hunter-mcp doubles as an interactive developer terminal utility:
1. Hunt Bounties
# List top bounties sorted by ROI
npx gibwork-cli hunt
# Filter by reward and skill
npx gibwork-cli hunt --min-reward 500 --skill TypeScript --sort reward2. Inspect Bounty Details
npx gibwork-cli inspect gibwork-hackathon-20263. Verify Local Deliverables
# Deterministically evaluate current directory against requirements
npx gibwork-cli verify gibwork-hackathon-2026 .
# Run with automated test validation
npx gibwork-cli verify gibwork-hackathon-2026 . --run-tests4. Cryptographically Sign & Submit Proof
# Generate signed proof receipt (simulated / dry-run)
npx gibwork-cli submit gibwork-hackathon-2026 \
--url https://github.com/rishiiicreates/gibwork-hunter-mcp \
--dir . \
--notes "Production-grade TypeScript MCP Server and CLI"βοΈ Configuration & Installation
Option A: Use directly via npx
npx gibwork-hunter-mcpOption B: Clone & Build Locally
git clone https://github.com/rishiiicreates/gibwork-hunter-mcp.git
cd gibwork-hunter-mcp
npm install
npm run build
npm testSetup in Claude Desktop (claude_desktop_config.json)
Add this entry to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gibwork-hunter": {
"command": "node",
"args": [
"/Users/rishii/gibwork-hunter-mcp/dist/index.js"
],
"env": {
"SOLANA_PRIVATE_KEY": "",
"GIBWORK_LIVE": "false"
}
}
}
}Note: If
SOLANA_PRIVATE_KEYis not provided, the server automatically operates in safe mock/simulation mode with ephemeral session keypairs, allowing instant inspection and verification without touching real mainnet funds.
π Solana Escrow & Cryptographic Attestation
Each deliverable proof generated by gibwork-hunter-mcp contains:
Deliverable Fingerprint: SHA-256 hash of all non-ignored project files (deterministic manifest hash).
Idempotency Key: UUIDv4 ensuring replay protection against network instability.
Ed25519 Detached Signature: Signed by the hunter's Solana keypair over the canonical JSON payload.
Escrow Verification: Validates target smart contract escrow address on Solana mainnet.
{
"proofId": "proof-a92c817f",
"bountyId": "gibwork-hackathon-2026",
"hunterAddress": "7b5vF9...vXqN",
"submissionUrl": "https://github.com/rishiiicreates/gibwork-hunter-mcp",
"deliverableFingerprint": "63e0b2c2e13b916094170254765f3743...",
"verificationScore": 100,
"status": "MOCK_CONFIRMED",
"signature": "3K6xU9...ed25519...base58",
"messageDigest": "8f81ad562a...",
"signedAt": "2026-10-25T16:50:00.000Z"
}π§ͺ Testing
The test suite runs with Vitest in strict mode:
npm testAll 28 tests across 6 test suites verify:
Solana Ed25519 signature creation & verification
Deterministic workspace hasher & ignore logic
Bounty query filtering & dynamic ROI scoring
Verifier engine requirements evaluation (file existence, regex, exit codes)
Submitter service & MCP tool endpoints
π License
MIT Β© Rishii (Hrishikesh Yadav)
Available Tools
4 toolsgibwork_get_bountyB
Fetch full bounty metadata, escrow details, sponsor reputation, deadline, and requirements checklist.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Bounty ID or slug (e.g. "gibwork-hackathon-2026", "solana-blinks-mcp") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose the shape of the returned payload, which is valuable given there is no output schema. It says nothing about read-only nature, permission requirements, or behavior for unknown/expired bounty IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and packs the return contents into a scannable list with zero filler. It is as short as it can be while still enumerating the payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with a fully described schema and no output schema, enumerating the returned fields is exactly the right compensating detail. What is missing (read-only confirmation, error handling) is minor for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'id' parameter is documented with concrete slug examples, so the schema does the heavy lifting. The description adds no additional semantics about ID resolution (ID vs slug equivalence) beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch') and resource ('bounty metadata'), then enumerates the concrete payload (escrow details, sponsor reputation, deadline, requirements checklist). The singular, detail-oriented framing implicitly separates it from the plural listing sibling, though it never names that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, when-not-to-use, or alternative routing is given. An agent can infer this is the detail lookup for a single bounty, but nothing tells it to prefer gibwork_list_bounties for discovery or what ID format failures look like.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gibwork_list_bountiesC
List live and ecosystem Gibwork bounties on Solana with query filters (min_reward, skill, status, keyword, sort_by).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of bounties to return (default: 15) | |
| skill | No | Filter by required skill or tag (e.g. "TypeScript", "MCP", "Solana", "Rust") | |
| status | No | Bounty status: OPEN, IN_PROGRESS, COMPLETED | |
| keyword | No | Search keyword in title, description, or tags | |
| sort_by | No | Sort bounties by reward, roi, deadline, or submissions (default: roi) | |
| min_reward | No | Minimum reward in USDC (e.g. 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden and it discloses very little: no pagination story despite a default limit of 15 (suggesting results are silently truncated with no offset/cursor), no mention of whether results span both "live" and "ecosystem" pools by default, and no auth or rate-limit notes. Read-only behavior is only implied by the verb "List".
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource and filter scope come first. Slightly compressed to the point where "live and ecosystem" reads as unexplained jargon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter discovery tool with a fully documented schema and no output schema, the essentials are present but thin. The missing pieces are behavioral rather than per-parameter: result truncation/pagination and what a returned bounty record contains at a glance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including the sort_by enum and defaults is already documented. The description merely echoes five of the six parameter names and adds no syntax, combination rules, or semantics beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("List ... Gibwork bounties on Solana") and names the filter axes, which is clearly distinct from the sibling get/verify/submit operations. It stops short of explicitly naming those siblings to route the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "with query filters" describes capability, not when to call this versus gibwork_get_bounty or the submission tools. No prerequisites, no sequencing (e.g. "browse first, then fetch details"), no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gibwork_submit_proofB
Prepares, cryptographically signs with a Solana Ed25519 keypair, and registers a bounty submission proof packet on Gibwork.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Submission remarks or release notes | |
| dry_run | No | Generate cryptographic signature and proof packet without submitting live Solana transaction (default: true) | |
| bounty_id | Yes | Target bounty ID or slug | |
| submission_url | Yes | Public repository, pull request, or deliverable URL | |
| workspace_path | No | Local workspace path for deliverable fingerprinting |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the important traits: cryptographic signing with a Solana Ed25519 keypair and registration of a proof packet on Gibwork, which signals a write/on-chain operation. It omits that a live Solana transaction may be submitted, that dry_run defaults to true, whether a keypair must be pre-configured, and whether repeat submissions are permitted β all material for a signing/mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly constructed sentence with the operation sequence front-loaded and zero filler; nothing is repeated and nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter mutation tool that signs with a private key and may broadcast a Solana transaction, with no annotations and no output schema, a single sentence is thin. An agent still lacks keypair/auth requirements, the live-vs-dry-run consequence, failure modes, and what the returned proof packet contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all five parameters documented including the dry_run default and the meaning of workspace_path and notes, so the baseline is 3. The description adds no parameter-level meaning beyond the schema β notably it never mentions the dry-run capability, which is the single most consequential parameter for this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific multi-step action (prepare, sign, register) against a specific resource (bounty submission proof packet) on a named platform. It is distinguishable from gibwork_list_bounties and gibwork_get_bounty by verb and object, though it never explicitly contrasts itself with gibwork_verify_deliverable, the closest-adjacent sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to call this versus gibwork_verify_deliverable, nor what prerequisites exist (a configured Ed25519 keypair, an existing bounty, a valid submission_url). No exclusions or preconditions are stated; the agent must infer everything from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gibwork_verify_deliverableC
Deterministically analyzes a local workspace against a Gibwork bounty requirements checklist, scoring compliance from 0-100% and generating a cryptographic deliverable fingerprint.
| Name | Required | Description | Default |
|---|---|---|---|
| bounty_id | Yes | Target bounty ID or slug to evaluate against | |
| run_tests | No | Whether to execute automated test commands during evaluation (default: false) | |
| workspace_path | No | Path to local repository directory (defaults to current directory) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, and it leaves out the most consequential behavior: run_tests can execute automated test commands against local code, which is a side-effecting operation the description never flags. It also doesn't say whether the tool contacts the Gibwork API (and therefore needs auth/network), whether it writes any artifacts, or whether it is purely read-only despite 'analyzes' implying so.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the core action, the measurement, and the output artifact with no filler. It is efficient, though the clause list is slightly packed for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does usefully name the two outputs (compliance score and fingerprint). But for a tool that can execute test commands and depends on an external bounty checklist, the omission of side effects, auth/network needs, and failure behavior leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with bounty_id, run_tests, and workspace_path each documented in the schema. The description adds no meaning beyond that (e.g., accepted slug formats or what a fingerprint derives from), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+object pair: it analyzes a local workspace against a bounty's requirements checklist, produces a 0-100% compliance score, and a cryptographic fingerprint. That is clearly distinct from listing, fetching, or submitting proof. It stops short of explicitly naming how it relates to gibwork_submit_proof, so a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus gibwork_get_bounty or gibwork_submit_proof, and no prerequisites are given (e.g., that the bounty must exist, that the workspace must be the repository under evaluation, or that this is a pre-submission gate). Usage must be entirely inferred from the name and the word 'verify'.
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.
4 tool updates
v0.1.0- First observed
gibwork_get_bounty - First observed
gibwork_list_bounties - First observed
gibwork_submit_proof - First observed
gibwork_verify_deliverable
TDQS
Scored across 4 tools
Each tool maps to a distinct stage of a bounty workflow: browse (list_bounties), inspect (get_bounty), evaluate local work (verify_deliverable), and sign/register (submit_proof). There is no plausible confusion between listing many bounties versus fetching one, or between local verification and on-chain submission.
All four names use a uniform `gibwork_` namespace prefix followed by a verb_noun pattern in snake_case (list_bounties, get_bounty, verify_deliverable, submit_proof). The convention is fully predictable and readable.
Four tools is on the lean side but each earns its place within a narrow bounty-hunting scope, and there is no filler. It sits just below the ideal mid-range, leaving little room for auxiliary operations.
The core discovery-to-submission lifecycle is fully covered, including a verification step most servers would omit. Minor gaps remain: no way to check submission status or withdraw/resubmit a proof, and no agent-side profile or submission history lookup.
Maintenance
Related MCP Connectors
Freelance marketplace for AI agents: find gigs and jobs, bid, order, pay in USDC on Solana, deliver.
Discover verified deep-tech engineering bounties from any AI agent.
The verifiable work layer for AI. Every run returns a verifiable receipt. No key needed.
Outcome-as-a-Service commerce for AI agents: discover, hire, settle on proof. Live on devnet.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, retrieve, create, triage codebases, scaffold solutions, and validate deliverables for Gibwork bounties on Solana.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover Gibwork bounties, verify their Solana escrow accounts on-chain, rank opportunities by value, competition and deadline, diff captures over time, and export Markdown/CSV/JSON reports through four read-only MCP tools requiring no wallet or API key.MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI clients and coding agents to turn vague GitHub requests into structured, testable task contracts, inspect repository evidence, simulate execution, validate readiness, and preview or publish Gibwork bounties only after explicit confirmation.MIT
- AlicenseNot gradedqualityBmaintenanceEnables developers and AI agents to discover, rank, watch, and draft submissions for Gibwork coding bounties through MCP tools, with optional wallet-authenticated SDK support.1MIT