Shippy MCP Server

官方

运输工作,赚取版税。

文档

MCP 服务器安装

Shippy 提供一个远程模型上下文协议(MCP)服务器,让 AI 编程助手可以直接在你的 IDE 中与你的赏金任务交互。

文档 MCP 服务器

请注意,我们还提供了一个单独的 MCP 端点,用于通过 MCP 阅读 Shippy 文档:

端点:https://shippy.sh/mcp/docs

此端点无需认证,并提供两个工具:

工具描述
list_docs列出所有可用的文档页面
read_doc通过 ID 阅读特定的文档页面

如果你希望 AI 助手无需离开 IDE 就能查阅 Shippy 文档,这将非常有用。

功能

通过 Shippy MCP 服务器,你的 AI 助手可以:

对于贡献者:

  • 浏览和搜索各项目中的赏金任务
  • 阅读完整的赏金详情和验收标准
  • 认领赏金任务并开始工作
  • 提交已完成的工作以供审核
  • 查看和管理你当前认领的任务

对于创始人:

  • 创建和更新赏金任务
  • 关闭和重新打开赏金任务
  • 管理项目标签
  • 创建和配置项目(声誉模式或利润分享模式)

前提条件

  1. 一个 Shippy 账户(在此注册)
  2. 一个 MCP 访问令牌(在用户设置 → MCP 访问令牌中生成)

快速安装(Cursor)

如果你使用 Cursor,在生成令牌后,点击用户设置中的“添加到 Cursor”按钮。这将自动配置 MCP 服务器。

手动安装

Cursor

将此添加到 ~/.cursor/mcp.json

{
  "mcpServers": {
    "shippy": {
      "url": "https://shippy.sh/mcp",
      "headers": {
        "Authorization": "Bearer shp_YOUR_TOKEN"
      }
    }
  }
}

Windsurf

将此添加到 ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "shippy": {
      "serverUrl": "https://shippy.sh/mcp",
      "headers": {
        "Authorization": "Bearer shp_YOUR_TOKEN"
      }
    }
  }
}

注意:Windsurf 对 HTTP 服务器使用 serverUrl 而不是 url。请参阅 Windsurf MCP 文档。

Codex (OpenAI)

Codex 在 ~/.codex/config.toml 中使用 TOML 配置。你有两种选择:

选项 1:直接使用令牌(更简单)

将此添加到 ~/.codex/config.toml

[mcp_servers.shippy]
url = "https://shippy.sh/mcp"
http_headers = { "Authorization" = "Bearer shp_YOUR_TOKEN" }

选项 2:环境变量(更安全)

[mcp_servers.shippy]
url = "https://shippy.sh/mcp"
bearer_token_env_var = "SHIPPY_MCP_TOKEN"

然后在你的 shell 中设置环境变量(添加到 ~/.zshrc~/.bashrc):

export SHIPPY_MCP_TOKEN="shp_YOUR_TOKEN"

注意:更多配置选项请参阅 Codex MCP 文档。

Claude Desktop

Claude Desktop 仅支持基于 stdio 的 MCP 服务器,因此你需要 mcp-remote 来连接 Shippy 的 HTTP 端点。

添加到你的 Claude Desktop 配置中:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "shippy": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://shippy.sh/mcp",
        "--header",
        "Authorization: Bearer shp_YOUR_TOKEN"
      ]
    }
  }
}

Claude Code

Claude Code 也使用基于 stdio 的服务器。你可以通过 CLI 添加 Shippy:

claude mcp add shippy -- npx -y mcp-remote https://shippy.sh/mcp --header "Authorization: Bearer shp_YOUR_TOKEN"

或者添加到你的项目的 .mcp.json


### Other Clients (stdio-only)

For other MCP clients that only support stdio transport (not Streamable HTTP), use mcp-remote with the same configuration pattern as Claude Desktop above.

> Note: Cursor 0.50+ and Windsurf support Streamable HTTP natively. Claude Desktop, Claude Code, and older clients require mcp-remote.

## Available Tools

### Read Operations

| Tool                  | Description                                           | Auth       |
| --------------------- | ----------------------------------------------------- | ---------- |
| list\_projects        | Browse projects on Shippy                             | Optional\* |
| read\_project         | Get project details by slug                           | Optional\* |
| list\_bounties        | List bounties for a project                           | Optional\* |
| read\_bounty          | Get bounty by identifier (e.g., "SHP-42")             | Optional\* |
| list\_labels          | List all labels for a project                         | Optional\* |
| read\_label           | Get label details by ID                               | Optional\* |
| list\_comments        | List comments on a bounty                             | Optional\* |
| list\_attachments     | List attachments for a bounty, submission, or comment | Optional\* |
| list\_my\_bounties    | List bounties you have claimed                        | Required   |
| list\_my\_submissions | List your submissions                                 | Required   |

\*Optional: Works without auth for public projects. With auth, also shows your private projects.

### Contributor Operations

| Tool                           | Description                                      |
| ------------------------------ | ------------------------------------------------ |
| claim\_bounty                  | Claim a bounty to start working on it            |
| release\_claim                 | Release your claim on a bounty                   |
| create\_submission             | Submit work for a claimed bounty                 |
| update\_submission             | Update a draft/pending submission                |
| suggest\_bounty                | Suggest a new bounty for founder review          |
| create\_comment                | Add a comment to a bounty (supports attachments) |
| update\_comment                | Update your own comment                          |
| delete\_comment                | Delete a comment (author or founder)             |
| get\_contributor\_agreement    | View project's contributor agreement             |
| accept\_contributor\_agreement | Accept project's contributor agreement           |

### Attachment Operations

| Tool                         | Description                                        |
| ---------------------------- | -------------------------------------------------- |
| generate\_nanoid             | Generate a unique ID for pre-uploading attachments |
| get\_attachment\_upload\_url | Get a signed URL to upload a file to R2            |
| create\_attachment           | Register an uploaded attachment                    |
| delete\_attachment           | Delete an attachment                               |

Attachments can be added to bounties, submissions, and comments. For comments, use the `PENDING_COMMENT` reference type when uploading before the comment exists, then pass the generated ID to `create_comment`.

### Founder Operations

| Tool                  | Description                                            |
| --------------------- | ------------------------------------------------------ |
| create\_bounty        | Create a new bounty for a project                      |
| update\_bounty        | Update bounty title, description, points, etc.         |
| close\_bounty         | Close a bounty (expires claims)                        |
| reopen\_bounty        | Reopen a closed bounty                                 |
| create\_label         | Create a new label for a project                       |
| update\_label         | Update label name or color                             |
| delete\_label         | Delete a label from a project                          |
| create\_project       | Create a new project (reputation or profit share mode) |
| update\_project       | Update project settings                                |
| update\_project\_logo | Update or remove project logo                          |

## Example Usage

Once connected, try prompts like:

> "What bounties am I working on?"

> "Show me bounty SHP-42"

> "List open bounties on the shippy project"

> "Claim bounty SHP-15"

> "Submit my work for SHP-15 with description: Implemented the dark mode toggle. See PR #42."

> "Update submission sub\_123 with description: Added screenshots and test results."

> "Update submission sub\_123 to status: PENDING"

> "Add a comment on SHP-42: Great work! Here's my feedback..."

> "Upload a screenshot to my comment on SHP-42"

For Founders:

> "Create a bounty for my project 'shippy' titled 'Add dark mode support' with 50 points"

> "Update SHP-42 to have 100 points"

> "Create a label called 'urgent' with color #FF0000 for my shippy project"

> "Create a reputation mode project called 'my-oss-project' for open source contributions"

> "Create a profit share project with 10% pool percentage and monthly payouts"

## Troubleshooting

### Server not connecting

1. Verify your token is correct and hasn't been deleted
2. Make sure you're using the correct config file path for your IDE
3. Restart your IDE after making config changes
4. Check that Shippy is accessible at https://shippy.sh/mcp

### Authentication errors

1. Check that your token starts with `shp_`
2. Ensure the `Authorization` header format is `Bearer shp_YOUR_TOKEN` (with a space)
3. Generate a new token if the current one isn't working

### Tools not appearing

1. Make sure the MCP server is enabled in your IDE's settings
2. Check your IDE's MCP logs for connection errors
3. Try refreshing/reloading the MCP server list

### 406 Not Acceptable errors

If you're building your own MCP client, ensure your requests include:

Accept: application/json, text/event-stream


## 安全

* 你的 MCP 令牌与你的 Shippy 账户绑定
* 令牌可以随时在设置中撤销
* 每个令牌都会显示上次使用时间,以便审计
* 我们建议为不同的机器使用不同的令牌
* 令牌前缀 `shp_` 启用了 GitHub 秘密扫描

## 资源

* 模型上下文协议规范
* Cursor MCP 文档
* Windsurf MCP 文档
* Claude Desktop MCP 指南
* npm 上的 mcp-remote

## 需要帮助?

发送邮件至 [email protected]