Skip to content

Commit c5d94d7

Browse files
committed
Merge remote-tracking branch 'origin/main' into codex/private-repo-patch-handoff
# Conflicts: # server.json # src/index.ts
2 parents 3ec97e0 + 6b77e77 commit c5d94d7

6 files changed

Lines changed: 616 additions & 22 deletions

File tree

.mcp.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"mcpServers": {
3+
"taskbounty": {
4+
"command": "npx",
5+
"args": ["-y", "taskbounty-mcp-server"],
6+
"env": {
7+
"TASKBOUNTY_API_KEY": "${TASKBOUNTY_API_KEY}"
8+
}
9+
}
10+
}
11+
}

README.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ Every bug fix ships with a regression test, verified in a sandbox before payout.
1111

1212
## Tools
1313

14+
### Creator tools (repo owners)
15+
16+
New in 0.2.0. These let you enable Autopilot or post a bounty without leaving your editor. No API key needed up front: run `taskbounty_login` once and the rest just work.
17+
18+
- `taskbounty_login({ client_name? })`: authenticate via a browser device flow. Returns a URL and a short code to approve in the browser, polls until you approve, then stores credentials at `~/.taskbounty/credentials.json` (mode 0600). If already authenticated (env key or stored credential), it reports that and does nothing. The login wait is capped, so it never blocks forever. For CI, set `TASKBOUNTY_API_KEY` instead and skip this.
19+
- `autopilot_enable({ repo, trigger_label? })`: turn on TaskBounty Autopilot for a GitHub repo (accepts `owner/name` or a full GitHub URL). Issues labeled with the trigger label (default `taskbounty`) get auto-triaged, auto-funded, fixed by AI agents, verified end to end, and surfaced as ready-to-merge PRs. First 5 verified PRs free, then a 14-day trial, no card required. If the GitHub App is not installed yet, the response includes an install URL to open in the browser.
20+
- `post_from_issue({ issue_url, bounty_usd? })`: post a one-off bounty from an existing GitHub issue. Triage sizes the bounty automatically unless you pass `bounty_usd`. Payment is not handled by the tool: the response returns a funding URL to open in the browser.
21+
- `post_from_current_file`: reserved, not yet implemented (returns a "coming soon" message). Use `post_from_issue` or `autopilot_enable` for now.
22+
1423
### Poster side
1524
- `create_bounty_draft({ title, short_summary, description, category, bounty_amount, submission_deadline, evaluation_criteria?, expected_output_format?, github_repo_url?, tags?, platform?, language? })`: creates a DRAFT bounty.
1625
- `fund_bounty({ task_id })`: returns a Stripe Checkout URL for the user to open. Does not auto-charge.
@@ -30,18 +39,18 @@ Every bug fix ships with a regression test, verified in a sandbox before payout.
3039
## Install
3140

3241
```bash
33-
npm install -g github:eliottreich/agent-bounty-board#main:mcp-server
42+
npx -y taskbounty-mcp-server
3443
```
3544

3645
Or clone the repo and point your MCP client at the local path:
3746

3847
```bash
39-
git clone https://github.com/eliottreich/agent-bounty-board
40-
cd agent-bounty-board/mcp-server
48+
git clone https://github.com/eliottreich/taskbounty-mcp-server
49+
cd taskbounty-mcp-server
4150
npm install && npm run build
4251
```
4352

44-
You'll need an API key: get one at https://www.task-bounty.com/dashboard/api-keys (starts with `tb_live_`).
53+
You do not need an API key to get started: add the server to your client, then ask your agent to run `taskbounty_login` and approve in the browser. For CI or headless use, set `TASKBOUNTY_API_KEY` (a `tb_live_*` key from https://www.task-bounty.com/dashboard/api-keys) instead.
4554

4655
## Config
4756

@@ -110,8 +119,8 @@ If you cloned locally instead:
110119

111120
## Environment
112121

113-
- `TASKBOUNTY_API_KEY` (required for write tools): your `tb_live_*` key.
114-
- `TASKBOUNTY_API_BASE` (optional): defaults to `https://www.task-bounty.com/api/v1`. Override for staging.
122+
- `TASKBOUNTY_API_KEY` (optional): your `tb_live_*` key. If unset, run `taskbounty_login` for a browser device flow; credentials are stored at `~/.taskbounty/credentials.json`. The env key, if set, takes precedence over the stored credential (useful for CI).
123+
- `TASKBOUNTY_API_BASE` (optional): defaults to `https://www.task-bounty.com/api/v1`. Override for staging. The device-auth endpoints are derived from this (`/api/mcp/device/*` on the same origin).
115124

116125
## License
117126

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "taskbounty-mcp-server",
33
"mcpName": "io.github.eliottreich/taskbounty-mcp-server",
4-
"version": "0.1.6",
4+
"version": "0.2.0",
55
"license": "MIT",
66
"description": "MCP server for TaskBounty. AI agents fix GitHub bugs (with regression tests) and raise test coverage. Funded in USD, paid in USDC, ETH, or BTC.",
77
"keywords": [

server.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
33
"name": "io.github.eliottreich/taskbounty-mcp-server",
44
"description": "AI agents fix GitHub bugs (with regression tests) or raise test coverage. Paid in crypto.",
5-
"version": "0.1.5",
5+
"version": "0.2.0",
66
"repository": {
77
"url": "https://github.com/eliottreich/taskbounty-mcp-server",
88
"source": "github"
@@ -12,14 +12,14 @@
1212
{
1313
"registryType": "npm",
1414
"identifier": "taskbounty-mcp-server",
15-
"version": "0.1.5",
15+
"version": "0.2.0",
1616
"transport": {
1717
"type": "stdio"
1818
},
1919
"environmentVariables": [
2020
{
2121
"name": "TASKBOUNTY_API_KEY",
22-
"description": "Your tb_live_* key from https://www.task-bounty.com/dashboard/api-keys. Required for write tools (submit_pr, submit_patch, create_bounty_draft, fund_bounty, list_my_bounties, get_bounty_submissions, award_bounty, cancel_bounty, request_repo_access, check_submission_status).",
22+
"description": "Your tb_live_* key from https://www.task-bounty.com/dashboard/api-keys. Required for write and creator tools (submit_pr, submit_patch, create_bounty_draft, fund_bounty, list_my_bounties, get_bounty_submissions, award_bounty, cancel_bounty, request_repo_access, check_submission_status, autopilot_enable, post_from_issue, post_from_current_file). Alternatively, run the taskbounty_login tool for browser-based device login.",
2323
"isRequired": false,
2424
"isSecret": true
2525
},

0 commit comments

Comments
 (0)