@xferops/forge-mcp 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yml +50 -0
- package/README.md +225 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +739 -0
- package/package.json +40 -0
- package/skill/SKILL.md +13 -0
- package/skill/forge-board-admin/SKILL.md +99 -0
- package/skill/forge-dev-workflow/SKILL.md +120 -0
- package/skill/forge-setup/SKILL.md +55 -0
- package/src/index.ts +1006 -0
- package/tsconfig.json +14 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
release:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
id-token: write
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- uses: actions/setup-node@v4
|
|
19
|
+
with:
|
|
20
|
+
node-version: '20'
|
|
21
|
+
registry-url: 'https://registry.npmjs.org'
|
|
22
|
+
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: npm ci
|
|
25
|
+
|
|
26
|
+
- name: Build
|
|
27
|
+
run: npm run build
|
|
28
|
+
|
|
29
|
+
- name: Extract version from tag
|
|
30
|
+
id: version
|
|
31
|
+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
|
32
|
+
|
|
33
|
+
- name: Publish to npm
|
|
34
|
+
run: npm publish --access public
|
|
35
|
+
env:
|
|
36
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
37
|
+
|
|
38
|
+
- name: Install ClawHub CLI
|
|
39
|
+
run: npm install -g clawhub
|
|
40
|
+
|
|
41
|
+
- name: Publish skill to ClawHub
|
|
42
|
+
run: |
|
|
43
|
+
clawhub login --token "$CLAWHUB_TOKEN" --no-browser
|
|
44
|
+
clawhub publish ./skill \
|
|
45
|
+
--slug xferops-forge \
|
|
46
|
+
--name "XferOps Forge" \
|
|
47
|
+
--version ${{ steps.version.outputs.VERSION }} \
|
|
48
|
+
--changelog "Release ${{ steps.version.outputs.VERSION }}"
|
|
49
|
+
env:
|
|
50
|
+
CLAWHUB_TOKEN: ${{ secrets.CLAWHUB_TOKEN }}
|
package/README.md
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# ⚒️ Forge MCP Server
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) server for [Forge](https://forge.xferops.dev) — XferOps' project management system.
|
|
4
|
+
|
|
5
|
+
Works with **Claude Code**, **OpenAI Codex**, **OpenClaw/mcporter**, and any MCP-compatible consumer.
|
|
6
|
+
|
|
7
|
+
> **Migrated from `@xferops/flower-mcp`** — see [Migration Guide](#migration-guide) below.
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
### 1. Get Your API Token
|
|
12
|
+
|
|
13
|
+
1. Go to [forge.xferops.dev/settings](https://forge.xferops.dev/settings)
|
|
14
|
+
2. Click **New Token** in the API Tokens section
|
|
15
|
+
3. Give it a descriptive name and click **Create Token**
|
|
16
|
+
4. Copy the token (it won't be shown again!)
|
|
17
|
+
|
|
18
|
+
### 2. Install
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g @xferops/forge-mcp
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Or use with npx (no install needed):
|
|
25
|
+
```bash
|
|
26
|
+
npx @xferops/forge-mcp
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 3. Configure Your MCP Consumer
|
|
30
|
+
|
|
31
|
+
See setup instructions below for your specific tool.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Setup Instructions
|
|
36
|
+
|
|
37
|
+
### Claude Code (`claude_desktop_config.json`)
|
|
38
|
+
|
|
39
|
+
Add to `~/.config/claude/claude_desktop_config.json` (macOS/Linux) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"forge": {
|
|
45
|
+
"command": "npx",
|
|
46
|
+
"args": ["-y", "@xferops/forge-mcp"],
|
|
47
|
+
"env": {
|
|
48
|
+
"FORGE_URL": "https://forge.xferops.dev",
|
|
49
|
+
"FORGE_TOKEN": "your-api-token-here"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### OpenClaw / mcporter
|
|
57
|
+
|
|
58
|
+
Add to `~/.mcporter/mcporter.json`:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mcpServers": {
|
|
63
|
+
"forge": {
|
|
64
|
+
"command": "npx",
|
|
65
|
+
"args": ["-y", "@xferops/forge-mcp"],
|
|
66
|
+
"env": {
|
|
67
|
+
"FORGE_URL": "https://forge.xferops.dev",
|
|
68
|
+
"FORGE_TOKEN": "your-api-token-here"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Then use with mcporter:
|
|
76
|
+
```bash
|
|
77
|
+
mcporter call forge.forge_list_teams
|
|
78
|
+
mcporter call forge.forge_get_project projectId=abc123
|
|
79
|
+
mcporter call forge.forge_search_tasks query="ADM-5"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Environment Variables
|
|
83
|
+
|
|
84
|
+
| Variable | Required | Default | Description |
|
|
85
|
+
|----------|----------|---------|-------------|
|
|
86
|
+
| `FORGE_TOKEN` | Yes | — | Your API token from forge.xferops.dev/settings |
|
|
87
|
+
| `FORGE_URL` | No | `https://forge.xferops.dev` | API base URL |
|
|
88
|
+
| `FLOWER_TOKEN` | No | — | Legacy alias for `FORGE_TOKEN` (deprecated) |
|
|
89
|
+
| `FLOWER_URL` | No | — | Legacy alias for `FORGE_URL` (deprecated) |
|
|
90
|
+
| `KANBAN_TOKEN` | No | — | Legacy alias for `FORGE_TOKEN` (deprecated) |
|
|
91
|
+
| `KANBAN_URL` | No | — | Legacy alias for `FORGE_URL` (deprecated) |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Available Tools (26)
|
|
96
|
+
|
|
97
|
+
### Health
|
|
98
|
+
| Tool | Description |
|
|
99
|
+
|------|-------------|
|
|
100
|
+
| `forge_health_check` | Check API connectivity and configured URL |
|
|
101
|
+
|
|
102
|
+
### Teams
|
|
103
|
+
| Tool | Description |
|
|
104
|
+
|------|-------------|
|
|
105
|
+
| `forge_list_teams` | List all teams you belong to |
|
|
106
|
+
| `forge_create_team` | Create a new team |
|
|
107
|
+
| `forge_list_team_members` | List team members (get user IDs for assignment) |
|
|
108
|
+
| `forge_add_team_member` | Add a user to a team by email |
|
|
109
|
+
|
|
110
|
+
### Projects
|
|
111
|
+
| Tool | Description |
|
|
112
|
+
|------|-------------|
|
|
113
|
+
| `forge_list_projects` | List projects in a team |
|
|
114
|
+
| `forge_get_project` | Get project with all columns and tasks |
|
|
115
|
+
| `forge_create_project` | Create a new project |
|
|
116
|
+
| `forge_update_project` | Update project name/prefix |
|
|
117
|
+
| `forge_delete_project` | Delete a project |
|
|
118
|
+
|
|
119
|
+
### Columns
|
|
120
|
+
| Tool | Description |
|
|
121
|
+
|------|-------------|
|
|
122
|
+
| `forge_create_column` | Create a column (e.g., "Backlog", "Done") |
|
|
123
|
+
| `forge_update_column` | Rename a column |
|
|
124
|
+
| `forge_delete_column` | Delete a column (optionally move tasks) |
|
|
125
|
+
| `forge_reorder_columns` | Reorder columns |
|
|
126
|
+
|
|
127
|
+
### Tasks
|
|
128
|
+
| Tool | Description |
|
|
129
|
+
|------|-------------|
|
|
130
|
+
| `forge_get_task` | Get a single task by ID |
|
|
131
|
+
| `forge_list_tasks` | List all tasks in a project |
|
|
132
|
+
| `forge_search_tasks` | Search tasks by title/description/ticket ID (e.g., "ADM-5") |
|
|
133
|
+
| `forge_create_task` | Create a new task |
|
|
134
|
+
| `forge_update_task` | Update task or move to different column |
|
|
135
|
+
| `forge_move_task` | Move task to a different column (convenience wrapper) |
|
|
136
|
+
| `forge_delete_task` | Delete a task |
|
|
137
|
+
| `forge_reorder_task` | Move task to specific position within a column |
|
|
138
|
+
|
|
139
|
+
### Comments
|
|
140
|
+
| Tool | Description |
|
|
141
|
+
|------|-------------|
|
|
142
|
+
| `forge_list_comments` | List comments on a task |
|
|
143
|
+
| `forge_create_comment` | Add a comment |
|
|
144
|
+
| `forge_update_comment` | Edit your comment |
|
|
145
|
+
| `forge_delete_comment` | Delete your comment |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Migration Guide
|
|
150
|
+
|
|
151
|
+
Migrating from `@xferops/flower-mcp`?
|
|
152
|
+
|
|
153
|
+
### 1. Update your MCP config
|
|
154
|
+
|
|
155
|
+
```diff
|
|
156
|
+
- "command": "npx",
|
|
157
|
+
- "args": ["-y", "@xferops/flower-mcp"],
|
|
158
|
+
- "env": {
|
|
159
|
+
- "FLOWER_URL": "https://flower.xferops.dev",
|
|
160
|
+
- "FLOWER_TOKEN": "your-token"
|
|
161
|
+
- }
|
|
162
|
+
+ "command": "npx",
|
|
163
|
+
+ "args": ["-y", "@xferops/forge-mcp"],
|
|
164
|
+
+ "env": {
|
|
165
|
+
+ "FORGE_URL": "https://forge.xferops.dev",
|
|
166
|
+
+ "FORGE_TOKEN": "your-token"
|
|
167
|
+
+ }
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 2. Update tool calls
|
|
171
|
+
|
|
172
|
+
All tools are renamed from `flower_*` to `forge_*`:
|
|
173
|
+
|
|
174
|
+
```diff
|
|
175
|
+
- flower_search_tasks query="ADM-5"
|
|
176
|
+
+ forge_search_tasks query="ADM-5"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Note:** `FLOWER_URL` / `FLOWER_TOKEN` env vars are still accepted as fallbacks during the transition period.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Development
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
git clone https://github.com/XferOps/forge-mcp.git
|
|
187
|
+
cd forge-mcp
|
|
188
|
+
npm install
|
|
189
|
+
npm run build
|
|
190
|
+
|
|
191
|
+
# Run locally
|
|
192
|
+
FORGE_TOKEN=your-token node dist/index.js
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## OpenClaw Skill
|
|
198
|
+
|
|
199
|
+
Install via ClawHub:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
npx clawhub@latest install xferops-forge
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Versioning
|
|
208
|
+
|
|
209
|
+
| Tag | Version |
|
|
210
|
+
|-----|---------|
|
|
211
|
+
| `v2.x` | Forge MCP (`@xferops/forge-mcp`) |
|
|
212
|
+
| `v1.x` | Flower MCP (`@xferops/flower-mcp`) — deprecated |
|
|
213
|
+
|
|
214
|
+
Tag and release:
|
|
215
|
+
```bash
|
|
216
|
+
git tag v2.x.x && git push --tags
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
CI will publish to npm and ClawHub automatically.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## License
|
|
224
|
+
|
|
225
|
+
MIT © [XferOps](https://xferops.com)
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Forge MCP Server
|
|
4
|
+
*
|
|
5
|
+
* MCP (Model Context Protocol) server for interacting with the Forge API.
|
|
6
|
+
* Forge is XferOps' project management system (formerly Flower/Kanban).
|
|
7
|
+
*
|
|
8
|
+
* Works with: Claude Code, OpenAI Codex, OpenClaw/mcporter, and any MCP consumer.
|
|
9
|
+
*
|
|
10
|
+
* @see https://forge.xferops.dev/docs for API documentation
|
|
11
|
+
*/
|
|
12
|
+
export {};
|