# 安装 Kwork

- 类型: MCP 工具
- 说明: 帮助你在 Kwork 平台浏览项目、提交报价、管理订单并联系客户
- 仓库: https://github.com/simonether/kwork-mcp

## 方式一 · 一键代装（复制提示词让 AI 代劳）

### Claude Code
```
请帮我安装 askskill 上的 "Kwork" MCP 服务：
执行：claude mcp add 'io-github-simonether-kwork-mcp' -- uvx kwork-mcp
```

### Codex
```
请帮我安装 askskill 上的 "Kwork" MCP 服务：
在 ~/.codex/config.toml 中添加：
[mcp_servers.io-github-simonether-kwork-mcp]
command = "uvx"
args = ["kwork-mcp"]
然后重启 Codex 生效
```

### Cursor
```
请帮我安装 askskill 上的 "Kwork" MCP 服务：
在 .cursor/mcp.json 的 "mcpServers" 中添加：
"io-github-simonether-kwork-mcp": { "command": "uvx", "args": ["kwork-mcp"] }
然后在 Cursor 设置 > MCP 中启用
```

## 方式二 · 命令行安装（原生命令与配置）

### Claude Code
```bash
claude mcp add --env KWORK_EXPECTED_USER_ID=YOUR_VALUE --env KWORK_EXPECTED_USERNAME=YOUR_VALUE --env KWORK_WRITES=YOUR_VALUE --env KWORK_SITE=YOUR_VALUE --env KWORK_TIMEOUT=YOUR_VALUE --env KWORK_STATE_DIR=YOUR_VALUE --env KWORK_PERSIST_TOKEN=YOUR_VALUE --env KWORK_RPS_LIMIT=YOUR_VALUE --env KWORK_BURST_LIMIT=YOUR_VALUE --env KWORK_ROUTE_RPS_LIMIT=YOUR_VALUE --env KWORK_ROUTE_BURST_LIMIT=YOUR_VALUE --env KWORK_RATE_WAIT_TIMEOUT=YOUR_VALUE --env KWORK_AUTH_LOCK_TIMEOUT=YOUR_VALUE --env KWORK_READ_ATTEMPTS=YOUR_VALUE --env KWORK_RETRY_BACKOFF_BASE=YOUR_VALUE --env KWORK_RETRY_BACKOFF_MAX=YOUR_VALUE --env KWORK_CIRCUIT_FAILURE_THRESHOLD=YOUR_VALUE --env KWORK_CIRCUIT_OPEN_SECONDS=YOUR_VALUE --env KWORK_PREPARATION_TTL_SECONDS=YOUR_VALUE --env KWORK_WRITE_LEASE_SECONDS=YOUR_VALUE --env KWORK_RECONCILIATION_MIN_AGE_SECONDS=YOUR_VALUE --env KWORK_RECONCILIATION_ABSENCE_CONFIRMATIONS=YOUR_VALUE --env KWORK_RECONCILIATION_ABSENCE_INTERVAL_SECONDS=YOUR_VALUE --env KWORK_STATE_RETENTION_DAYS=YOUR_VALUE --env KWORK_LOG_LEVEL=YOUR_VALUE --transport stdio io-github-simonether-kwork-mcp -- uvx kwork-mcp
```
需要环境变量：KWORK_EXPECTED_USER_ID, KWORK_EXPECTED_USERNAME, KWORK_WRITES, KWORK_SITE, KWORK_TIMEOUT, KWORK_STATE_DIR, KWORK_PERSIST_TOKEN, KWORK_RPS_LIMIT, KWORK_BURST_LIMIT, KWORK_ROUTE_RPS_LIMIT, KWORK_ROUTE_BURST_LIMIT, KWORK_RATE_WAIT_TIMEOUT, KWORK_AUTH_LOCK_TIMEOUT, KWORK_READ_ATTEMPTS, KWORK_RETRY_BACKOFF_BASE, KWORK_RETRY_BACKOFF_MAX, KWORK_CIRCUIT_FAILURE_THRESHOLD, KWORK_CIRCUIT_OPEN_SECONDS, KWORK_PREPARATION_TTL_SECONDS, KWORK_WRITE_LEASE_SECONDS, KWORK_RECONCILIATION_MIN_AGE_SECONDS, KWORK_RECONCILIATION_ABSENCE_CONFIRMATIONS, KWORK_RECONCILIATION_ABSENCE_INTERVAL_SECONDS, KWORK_STATE_RETENTION_DAYS, KWORK_LOG_LEVEL

### Codex
```bash
codex mcp add --env KWORK_EXPECTED_USER_ID=YOUR_VALUE --env KWORK_EXPECTED_USERNAME=YOUR_VALUE --env KWORK_WRITES=YOUR_VALUE --env KWORK_SITE=YOUR_VALUE --env KWORK_TIMEOUT=YOUR_VALUE --env KWORK_STATE_DIR=YOUR_VALUE --env KWORK_PERSIST_TOKEN=YOUR_VALUE --env KWORK_RPS_LIMIT=YOUR_VALUE --env KWORK_BURST_LIMIT=YOUR_VALUE --env KWORK_ROUTE_RPS_LIMIT=YOUR_VALUE --env KWORK_ROUTE_BURST_LIMIT=YOUR_VALUE --env KWORK_RATE_WAIT_TIMEOUT=YOUR_VALUE --env KWORK_AUTH_LOCK_TIMEOUT=YOUR_VALUE --env KWORK_READ_ATTEMPTS=YOUR_VALUE --env KWORK_RETRY_BACKOFF_BASE=YOUR_VALUE --env KWORK_RETRY_BACKOFF_MAX=YOUR_VALUE --env KWORK_CIRCUIT_FAILURE_THRESHOLD=YOUR_VALUE --env KWORK_CIRCUIT_OPEN_SECONDS=YOUR_VALUE --env KWORK_PREPARATION_TTL_SECONDS=YOUR_VALUE --env KWORK_WRITE_LEASE_SECONDS=YOUR_VALUE --env KWORK_RECONCILIATION_MIN_AGE_SECONDS=YOUR_VALUE --env KWORK_RECONCILIATION_ABSENCE_CONFIRMATIONS=YOUR_VALUE --env KWORK_RECONCILIATION_ABSENCE_INTERVAL_SECONDS=YOUR_VALUE --env KWORK_STATE_RETENTION_DAYS=YOUR_VALUE --env KWORK_LOG_LEVEL=YOUR_VALUE io-github-simonether-kwork-mcp -- uvx kwork-mcp
```
配置文件 ~/.codex/config.toml：
```toml
[mcp_servers.io-github-simonether-kwork-mcp]
command = "uvx"
args = ["kwork-mcp"]

[mcp_servers.io-github-simonether-kwork-mcp.env]
KWORK_EXPECTED_USER_ID = "YOUR_VALUE"
KWORK_EXPECTED_USERNAME = "YOUR_VALUE"
KWORK_WRITES = "YOUR_VALUE"
KWORK_SITE = "YOUR_VALUE"
KWORK_TIMEOUT = "YOUR_VALUE"
KWORK_STATE_DIR = "YOUR_VALUE"
KWORK_PERSIST_TOKEN = "YOUR_VALUE"
KWORK_RPS_LIMIT = "YOUR_VALUE"
KWORK_BURST_LIMIT = "YOUR_VALUE"
KWORK_ROUTE_RPS_LIMIT = "YOUR_VALUE"
KWORK_ROUTE_BURST_LIMIT = "YOUR_VALUE"
KWORK_RATE_WAIT_TIMEOUT = "YOUR_VALUE"
KWORK_AUTH_LOCK_TIMEOUT = "YOUR_VALUE"
KWORK_READ_ATTEMPTS = "YOUR_VALUE"
KWORK_RETRY_BACKOFF_BASE = "YOUR_VALUE"
KWORK_RETRY_BACKOFF_MAX = "YOUR_VALUE"
KWORK_CIRCUIT_FAILURE_THRESHOLD = "YOUR_VALUE"
KWORK_CIRCUIT_OPEN_SECONDS = "YOUR_VALUE"
KWORK_PREPARATION_TTL_SECONDS = "YOUR_VALUE"
KWORK_WRITE_LEASE_SECONDS = "YOUR_VALUE"
KWORK_RECONCILIATION_MIN_AGE_SECONDS = "YOUR_VALUE"
KWORK_RECONCILIATION_ABSENCE_CONFIRMATIONS = "YOUR_VALUE"
KWORK_RECONCILIATION_ABSENCE_INTERVAL_SECONDS = "YOUR_VALUE"
KWORK_STATE_RETENTION_DAYS = "YOUR_VALUE"
KWORK_LOG_LEVEL = "YOUR_VALUE"
```
需要环境变量：KWORK_EXPECTED_USER_ID, KWORK_EXPECTED_USERNAME, KWORK_WRITES, KWORK_SITE, KWORK_TIMEOUT, KWORK_STATE_DIR, KWORK_PERSIST_TOKEN, KWORK_RPS_LIMIT, KWORK_BURST_LIMIT, KWORK_ROUTE_RPS_LIMIT, KWORK_ROUTE_BURST_LIMIT, KWORK_RATE_WAIT_TIMEOUT, KWORK_AUTH_LOCK_TIMEOUT, KWORK_READ_ATTEMPTS, KWORK_RETRY_BACKOFF_BASE, KWORK_RETRY_BACKOFF_MAX, KWORK_CIRCUIT_FAILURE_THRESHOLD, KWORK_CIRCUIT_OPEN_SECONDS, KWORK_PREPARATION_TTL_SECONDS, KWORK_WRITE_LEASE_SECONDS, KWORK_RECONCILIATION_MIN_AGE_SECONDS, KWORK_RECONCILIATION_ABSENCE_CONFIRMATIONS, KWORK_RECONCILIATION_ABSENCE_INTERVAL_SECONDS, KWORK_STATE_RETENTION_DAYS, KWORK_LOG_LEVEL

### Cursor
配置文件 .cursor/mcp.json：
```json
{
  "mcpServers": {
    "io-github-simonether-kwork-mcp": {
      "command": "uvx",
      "args": [
        "kwork-mcp"
      ],
      "env": {
        "KWORK_EXPECTED_USER_ID": "YOUR_VALUE",
        "KWORK_EXPECTED_USERNAME": "YOUR_VALUE",
        "KWORK_WRITES": "YOUR_VALUE",
        "KWORK_SITE": "YOUR_VALUE",
        "KWORK_TIMEOUT": "YOUR_VALUE",
        "KWORK_STATE_DIR": "YOUR_VALUE",
        "KWORK_PERSIST_TOKEN": "YOUR_VALUE",
        "KWORK_RPS_LIMIT": "YOUR_VALUE",
        "KWORK_BURST_LIMIT": "YOUR_VALUE",
        "KWORK_ROUTE_RPS_LIMIT": "YOUR_VALUE",
        "KWORK_ROUTE_BURST_LIMIT": "YOUR_VALUE",
        "KWORK_RATE_WAIT_TIMEOUT": "YOUR_VALUE",
        "KWORK_AUTH_LOCK_TIMEOUT": "YOUR_VALUE",
        "KWORK_READ_ATTEMPTS": "YOUR_VALUE",
        "KWORK_RETRY_BACKOFF_BASE": "YOUR_VALUE",
        "KWORK_RETRY_BACKOFF_MAX": "YOUR_VALUE",
        "KWORK_CIRCUIT_FAILURE_THRESHOLD": "YOUR_VALUE",
        "KWORK_CIRCUIT_OPEN_SECONDS": "YOUR_VALUE",
        "KWORK_PREPARATION_TTL_SECONDS": "YOUR_VALUE",
        "KWORK_WRITE_LEASE_SECONDS": "YOUR_VALUE",
        "KWORK_RECONCILIATION_MIN_AGE_SECONDS": "YOUR_VALUE",
        "KWORK_RECONCILIATION_ABSENCE_CONFIRMATIONS": "YOUR_VALUE",
        "KWORK_RECONCILIATION_ABSENCE_INTERVAL_SECONDS": "YOUR_VALUE",
        "KWORK_STATE_RETENTION_DAYS": "YOUR_VALUE",
        "KWORK_LOG_LEVEL": "YOUR_VALUE"
      }
    }
  }
}
```
一键安装：cursor://anysphere.cursor-deeplink/mcp/install?name=io-github-simonether-kwork-mcp&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJrd29yay1tY3AiXSwiZW52Ijp7IktXT1JLX0VYUEVDVEVEX1VTRVJfSUQiOiJZT1VSX1ZBTFVFIiwiS1dPUktfRVhQRUNURURfVVNFUk5BTUUiOiJZT1VSX1ZBTFVFIiwiS1dPUktfV1JJVEVTIjoiWU9VUl9WQUxVRSIsIktXT1JLX1NJVEUiOiJZT1VSX1ZBTFVFIiwiS1dPUktfVElNRU9VVCI6IllPVVJfVkFMVUUiLCJLV09SS19TVEFURV9ESVIiOiJZT1VSX1ZBTFVFIiwiS1dPUktfUEVSU0lTVF9UT0tFTiI6IllPVVJfVkFMVUUiLCJLV09SS19SUFNfTElNSVQiOiJZT1VSX1ZBTFVFIiwiS1dPUktfQlVSU1RfTElNSVQiOiJZT1VSX1ZBTFVFIiwiS1dPUktfUk9VVEVfUlBTX0xJTUlUIjoiWU9VUl9WQUxVRSIsIktXT1JLX1JPVVRFX0JVUlNUX0xJTUlUIjoiWU9VUl9WQUxVRSIsIktXT1JLX1JBVEVfV0FJVF9USU1FT1VUIjoiWU9VUl9WQUxVRSIsIktXT1JLX0FVVEhfTE9DS19USU1FT1VUIjoiWU9VUl9WQUxVRSIsIktXT1JLX1JFQURfQVRURU1QVFMiOiJZT1VSX1ZBTFVFIiwiS1dPUktfUkVUUllfQkFDS09GRl9CQVNFIjoiWU9VUl9WQUxVRSIsIktXT1JLX1JFVFJZX0JBQ0tPRkZfTUFYIjoiWU9VUl9WQUxVRSIsIktXT1JLX0NJUkNVSVRfRkFJTFVSRV9USFJFU0hPTEQiOiJZT1VSX1ZBTFVFIiwiS1dPUktfQ0lSQ1VJVF9PUEVOX1NFQ09ORFMiOiJZT1VSX1ZBTFVFIiwiS1dPUktfUFJFUEFSQVRJT05fVFRMX1NFQ09ORFMiOiJZT1VSX1ZBTFVFIiwiS1dPUktfV1JJVEVfTEVBU0VfU0VDT05EUyI6IllPVVJfVkFMVUUiLCJLV09SS19SRUNPTkNJTElBVElPTl9NSU5fQUdFX1NFQ09ORFMiOiJZT1VSX1ZBTFVFIiwiS1dPUktfUkVDT05DSUxJQVRJT05fQUJTRU5DRV9DT05GSVJNQVRJT05TIjoiWU9VUl9WQUxVRSIsIktXT1JLX1JFQ09OQ0lMSUFUSU9OX0FCU0VOQ0VfSU5URVJWQUxfU0VDT05EUyI6IllPVVJfVkFMVUUiLCJLV09SS19TVEFURV9SRVRFTlRJT05fREFZUyI6IllPVVJfVkFMVUUiLCJLV09SS19MT0dfTEVWRUwiOiJZT1VSX1ZBTFVFIn19
需要环境变量：KWORK_EXPECTED_USER_ID, KWORK_EXPECTED_USERNAME, KWORK_WRITES, KWORK_SITE, KWORK_TIMEOUT, KWORK_STATE_DIR, KWORK_PERSIST_TOKEN, KWORK_RPS_LIMIT, KWORK_BURST_LIMIT, KWORK_ROUTE_RPS_LIMIT, KWORK_ROUTE_BURST_LIMIT, KWORK_RATE_WAIT_TIMEOUT, KWORK_AUTH_LOCK_TIMEOUT, KWORK_READ_ATTEMPTS, KWORK_RETRY_BACKOFF_BASE, KWORK_RETRY_BACKOFF_MAX, KWORK_CIRCUIT_FAILURE_THRESHOLD, KWORK_CIRCUIT_OPEN_SECONDS, KWORK_PREPARATION_TTL_SECONDS, KWORK_WRITE_LEASE_SECONDS, KWORK_RECONCILIATION_MIN_AGE_SECONDS, KWORK_RECONCILIATION_ABSENCE_CONFIRMATIONS, KWORK_RECONCILIATION_ABSENCE_INTERVAL_SECONDS, KWORK_STATE_RETENTION_DAYS, KWORK_LOG_LEVEL
