Skip to content

Commit a214653

Browse files
author
Lasim
committed
feat(backend): enhance API specifications and add Cursor support
1 parent b58e58b commit a214653

File tree

6 files changed

+518
-31
lines changed

6 files changed

+518
-31
lines changed

services/backend/api-spec.json

Lines changed: 95 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5023,7 +5023,8 @@
50235023
"enum": [
50245024
"claude-desktop",
50255025
"vscode",
5026-
"claude-code"
5026+
"claude-code",
5027+
"cursor"
50275028
]
50285029
},
50295030
"in": "path",
@@ -5059,6 +5060,9 @@
50595060
"json"
50605061
]
50615062
},
5063+
"category": {
5064+
"type": "string"
5065+
},
50625066
"mcpServers": {
50635067
"type": "object",
50645068
"additionalProperties": {
@@ -5082,11 +5086,29 @@
50825086
},
50835087
"additionalProperties": true
50845088
}
5089+
},
5090+
"inputs": {
5091+
"type": "array"
5092+
},
5093+
"servers": {
5094+
"type": "object"
5095+
},
5096+
"title": {
5097+
"type": "string"
5098+
},
5099+
"description": {
5100+
"type": "string"
5101+
},
5102+
"inputType": {
5103+
"type": "string",
5104+
"enum": [
5105+
"input",
5106+
"textarea"
5107+
]
50855108
}
50865109
},
50875110
"required": [
5088-
"type",
5089-
"mcpServers"
5111+
"type"
50905112
],
50915113
"additionalProperties": false
50925114
},
@@ -5099,6 +5121,9 @@
50995121
"link"
51005122
]
51015123
},
5124+
"category": {
5125+
"type": "string"
5126+
},
51025127
"url": {
51035128
"type": "string",
51045129
"format": "uri"
@@ -5108,6 +5133,12 @@
51085133
},
51095134
"description": {
51105135
"type": "string"
5136+
},
5137+
"imageUrl": {
5138+
"type": "string"
5139+
},
5140+
"buttonText": {
5141+
"type": "string"
51115142
}
51125143
},
51135144
"required": [
@@ -5125,6 +5156,9 @@
51255156
"text"
51265157
]
51275158
},
5159+
"category": {
5160+
"type": "string"
5161+
},
51285162
"content": {
51295163
"type": "string"
51305164
},
@@ -5150,6 +5184,9 @@
51505184
"command"
51515185
]
51525186
},
5187+
"category": {
5188+
"type": "string"
5189+
},
51535190
"command": {
51545191
"type": "string"
51555192
},
@@ -5158,13 +5195,68 @@
51585195
},
51595196
"description": {
51605197
"type": "string"
5198+
},
5199+
"inputType": {
5200+
"type": "string",
5201+
"enum": [
5202+
"input",
5203+
"textarea"
5204+
]
51615205
}
51625206
},
51635207
"required": [
51645208
"type",
51655209
"command"
51665210
],
51675211
"additionalProperties": false
5212+
},
5213+
{
5214+
"type": "object",
5215+
"properties": {
5216+
"type": {
5217+
"type": "string",
5218+
"enum": [
5219+
"steps"
5220+
]
5221+
},
5222+
"category": {
5223+
"type": "string"
5224+
},
5225+
"steps": {
5226+
"type": "array",
5227+
"items": {
5228+
"type": "object",
5229+
"properties": {
5230+
"name": {
5231+
"type": "string"
5232+
},
5233+
"required": {
5234+
"type": "boolean"
5235+
},
5236+
"content": {
5237+
"type": "string"
5238+
}
5239+
},
5240+
"required": [
5241+
"name",
5242+
"required",
5243+
"content"
5244+
],
5245+
"additionalProperties": false
5246+
}
5247+
},
5248+
"title": {
5249+
"type": "string"
5250+
},
5251+
"description": {
5252+
"type": "string"
5253+
}
5254+
},
5255+
"required": [
5256+
"type",
5257+
"steps"
5258+
],
5259+
"additionalProperties": false
51685260
}
51695261
]
51705262
}

services/backend/api-spec.yaml

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3469,6 +3469,7 @@ paths:
34693469
- claude-desktop
34703470
- vscode
34713471
- claude-code
3472+
- cursor
34723473
in: path
34733474
name: client
34743475
required: true
@@ -3492,6 +3493,8 @@ paths:
34923493
type: string
34933494
enum:
34943495
- json
3496+
category:
3497+
type: string
34953498
mcpServers:
34963499
type: object
34973500
additionalProperties:
@@ -3508,23 +3511,41 @@ paths:
35083511
type:
35093512
type: string
35103513
additionalProperties: true
3514+
inputs:
3515+
type: array
3516+
servers:
3517+
type: object
3518+
title:
3519+
type: string
3520+
description:
3521+
type: string
3522+
inputType:
3523+
type: string
3524+
enum:
3525+
- input
3526+
- textarea
35113527
required:
35123528
- type
3513-
- mcpServers
35143529
additionalProperties: false
35153530
- type: object
35163531
properties:
35173532
type:
35183533
type: string
35193534
enum:
35203535
- link
3536+
category:
3537+
type: string
35213538
url:
35223539
type: string
35233540
format: uri
35243541
name:
35253542
type: string
35263543
description:
35273544
type: string
3545+
imageUrl:
3546+
type: string
3547+
buttonText:
3548+
type: string
35283549
required:
35293550
- type
35303551
- url
@@ -3535,6 +3556,8 @@ paths:
35353556
type: string
35363557
enum:
35373558
- text
3559+
category:
3560+
type: string
35383561
content:
35393562
type: string
35403563
title:
@@ -3551,16 +3574,55 @@ paths:
35513574
type: string
35523575
enum:
35533576
- command
3577+
category:
3578+
type: string
35543579
command:
35553580
type: string
35563581
title:
35573582
type: string
35583583
description:
35593584
type: string
3585+
inputType:
3586+
type: string
3587+
enum:
3588+
- input
3589+
- textarea
35603590
required:
35613591
- type
35623592
- command
35633593
additionalProperties: false
3594+
- type: object
3595+
properties:
3596+
type:
3597+
type: string
3598+
enum:
3599+
- steps
3600+
category:
3601+
type: string
3602+
steps:
3603+
type: array
3604+
items:
3605+
type: object
3606+
properties:
3607+
name:
3608+
type: string
3609+
required:
3610+
type: boolean
3611+
content:
3612+
type: string
3613+
required:
3614+
- name
3615+
- required
3616+
- content
3617+
additionalProperties: false
3618+
title:
3619+
type: string
3620+
description:
3621+
type: string
3622+
required:
3623+
- type
3624+
- steps
3625+
additionalProperties: false
35643626
"400":
35653627
description: Bad Request - Invalid client type
35663628
content:
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# DeployStack MCP Tools
2+
3+
DeployStack provides access to MCP tools through 2 meta-tools.
4+
5+
Before implementing tasks manually, check for available MCP tools.
6+
7+
## Meta-Tools
8+
9+
### discover_mcp_tools
10+
Search for MCP tools using 1-3 keywords only.
11+
12+
Use tool name or main function as keywords.
13+
14+
Avoid long descriptions or full sentences.
15+
16+
Returns tool paths in format `serverName:toolName`.
17+
18+
### execute_mcp_tool
19+
Execute a discovered tool by its path.
20+
21+
Use tool_path from discovery results.
22+
23+
Pass tool-specific arguments.
24+
25+
## Standard Workflow
26+
27+
1. Discover tools with relevant keywords
28+
2. Review returned tool paths and descriptions
29+
3. Execute tool with correct arguments
30+
4. If no tool found, implement manually
31+
32+
## Search Examples
33+
34+
**Good queries:**
35+
- "github"
36+
- "markdown convert"
37+
- "postgres query"
38+
- "filesystem read"
39+
- "slack send"
40+
41+
**Bad queries:**
42+
- "I need to create a GitHub issue"
43+
- "How do I read files?"
44+
- "Can you query the database?"
45+
46+
## Usage Pattern
47+
48+
**For GitHub operations:**
49+
50+
Discover: `query="github create"`
51+
52+
Execute: `tool_path="github:create_issue"` with repo, title, body arguments
53+
54+
**For file operations:**
55+
56+
Discover: `query="filesystem"`
57+
58+
Execute: `tool_path="filesystem:read_file"` with path argument
59+
60+
**For database queries:**
61+
62+
Discover: `query="postgres"`
63+
64+
Execute: `tool_path="postgres:execute_query"` with query argument
65+
66+
## When to Check
67+
68+
Check before:
69+
- External API calls (GitHub, Slack, Figma)
70+
- Database operations
71+
- File system access
72+
- Cloud service integrations
73+
- Content conversion tasks
74+
75+
Skip for:
76+
- Code generation
77+
- Refactoring
78+
- Explanations
79+
80+
## Tool Path Format
81+
82+
Always use `serverName:toolName` format.
83+
84+
Examples: `github:create_issue`, `figma:get_file`, `postgres:query`
85+
86+
---
87+
88+
DeployStack's hierarchical router exposes 2 meta-tools that access 100+ actual MCP tools.
89+
90+
Always discover available tools before manual implementation.

0 commit comments

Comments
 (0)