fa-mcp-sdk 0.4.37 → 0.4.39
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/README.md
CHANGED
|
@@ -211,6 +211,7 @@ Note: The `dist/` directory (compiled JavaScript) is created after running `npm
|
|
|
211
211
|
| `npm run generate-token` | Generate JWT tokens (Web UI) |
|
|
212
212
|
| `node scripts/generate-jwt.js` | Generate JWT token (CLI) |
|
|
213
213
|
| `/gen-jwt` | Generate JWT token (Claude Code skill) |
|
|
214
|
+
| `/upgrade-guide` | Generate upgrade guide for downstream projects (Claude Code skill) |
|
|
214
215
|
| `npm run consul:unreg` | Deregister from Consul |
|
|
215
216
|
|
|
216
217
|
|
|
@@ -244,6 +245,23 @@ agentTester:
|
|
|
244
245
|
The tester UI is available at `http://localhost:<port>/agent-tester` and auto-connects to the local MCP server.
|
|
245
246
|
Supports custom LLM endpoints, configurable system prompts, and dynamic HTTP headers. Recommended model for testing: **gpt-5.2**.
|
|
246
247
|
|
|
248
|
+
## Upgrade Guide Skill
|
|
249
|
+
|
|
250
|
+
Claude Code skill that generates a step-by-step upgrade guide for projects built on fa-mcp-sdk.
|
|
251
|
+
Analyzes git diff between two versions/commits and produces an MD file covering config changes, template file updates, script changes, API changes, and dependency updates.
|
|
252
|
+
|
|
253
|
+
**Usage in Claude Code:**
|
|
254
|
+
```
|
|
255
|
+
/upgrade-guide 0.4.30 0.4.37
|
|
256
|
+
/upgrade-guide 0.4.30
|
|
257
|
+
/upgrade-guide abc1234
|
|
258
|
+
/upgrade-guide 0.4.30 0.4.37 на русском
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Output language is English by default. Add a natural-language hint (e.g., "на русском", "in German") to change it.
|
|
262
|
+
|
|
263
|
+
Skill location: `.claude/skills/upgrade-guide/SKILL.md`
|
|
264
|
+
|
|
247
265
|
## Directory Requirements
|
|
248
266
|
|
|
249
267
|
- Use absolute paths for target directory
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: upgrade-guide
|
|
3
|
+
description: "Generate a migration guide for upgrading fa-mcp-sdk to the latest version. Use when user asks to upgrade/update fa-mcp-sdk, mentions 'обновить sdk', 'upgrade sdk', 'migration guide', 'обновление fa-mcp-sdk', or wants to see what changed between SDK versions."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Bash(yarn *) Bash(npm *) Bash(node *) Bash(git *) Bash(cat *) Bash(diff *) Bash(ls *) Bash(find *) Bash(mkdir *) Read Write Glob Grep WebFetch Agent
|
|
6
|
+
argument-hint: "[from-version] [to-version] [language hint]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# FA-MCP-SDK Upgrade Guide Generator
|
|
10
|
+
|
|
11
|
+
Generate a comprehensive migration guide for upgrading the fa-mcp-sdk dependency in the current project.
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
This skill analyzes the differences between the currently installed version of `fa-mcp-sdk` and the latest (or specified) version, then produces a detailed migration guide as a markdown file.
|
|
16
|
+
|
|
17
|
+
## Argument Parsing
|
|
18
|
+
|
|
19
|
+
Parse `$ARGUMENTS` to extract a target version and an optional language hint.
|
|
20
|
+
|
|
21
|
+
### Language detection
|
|
22
|
+
|
|
23
|
+
Look for a natural-language phrase anywhere in the arguments that indicates the desired output language. Examples:
|
|
24
|
+
- "на русском", "по-русски", "in Russian", "ru" → Russian
|
|
25
|
+
- "in English", "en" → English
|
|
26
|
+
- Any similar phrase or ISO 639-1 code
|
|
27
|
+
|
|
28
|
+
Remove the language hint from the arguments before parsing the target version.
|
|
29
|
+
|
|
30
|
+
**Default: English** if no language hint is found.
|
|
31
|
+
|
|
32
|
+
The detected language determines ALL human-readable text in the generated guide (headings, descriptions, recommendations).
|
|
33
|
+
Technical content (file paths, YAML keys, code snippets, commands) stays as-is regardless of language.
|
|
34
|
+
|
|
35
|
+
### Version/commit references
|
|
36
|
+
|
|
37
|
+
After stripping the language hint, the remaining arguments are version or commit references.
|
|
38
|
+
|
|
39
|
+
An argument is a **commit hash** if it contains 7+ hex characters and does not match semver pattern.
|
|
40
|
+
Otherwise it is treated as a **version** (with or without `v` prefix — `0.4.30` and `v0.4.30` are equivalent).
|
|
41
|
+
|
|
42
|
+
**Two arguments** — explicit FROM and TO:
|
|
43
|
+
- `/upgrade-guide 0.4.30 0.4.37` — from version 0.4.30 to 0.4.37
|
|
44
|
+
- `/upgrade-guide abc1234 def5678` — from commit to commit
|
|
45
|
+
|
|
46
|
+
**One argument** — FROM is the current installed version, TO is the argument:
|
|
47
|
+
- `/upgrade-guide 0.5.0` — upgrade from current to 0.5.0
|
|
48
|
+
- `/upgrade-guide abc1234` — upgrade from current to that commit
|
|
49
|
+
|
|
50
|
+
**No arguments** — FROM is the current installed version, TO is the latest published version.
|
|
51
|
+
|
|
52
|
+
## Step 1: Determine Versions
|
|
53
|
+
|
|
54
|
+
1. Read the current project's `package.json` and extract the installed `fa-mcp-sdk` version — this is the **default FROM**.
|
|
55
|
+
2. Run `yarn info fa-mcp-sdk version` (or `npm view fa-mcp-sdk version`) to get the latest published version — this is the **default TO**.
|
|
56
|
+
3. Apply argument parsing rules above to determine the actual FROM and TO.
|
|
57
|
+
4. If FROM equals TO — inform the user and stop.
|
|
58
|
+
|
|
59
|
+
Display to the user:
|
|
60
|
+
```
|
|
61
|
+
From: X.Y.Z (or commit hash)
|
|
62
|
+
To: A.B.C (or commit hash)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Step 2: Upgrade the Dependency
|
|
66
|
+
|
|
67
|
+
If TO is a published version (not a commit hash), run:
|
|
68
|
+
```bash
|
|
69
|
+
yarn add fa-mcp-sdk@<TO-version>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
If TO is a commit hash, run:
|
|
73
|
+
```bash
|
|
74
|
+
yarn add fa-mcp-sdk@https://github.com/Bazilio-san/fa-mcp-sdk#<TO-commit>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Wait for completion. If it fails, report the error and stop.
|
|
78
|
+
|
|
79
|
+
## Step 3: Update SDK Documentation
|
|
80
|
+
|
|
81
|
+
Run:
|
|
82
|
+
```bash
|
|
83
|
+
node ./node_modules/fa-mcp-sdk/scripts/update-doc.js
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
This copies the latest `FA-MCP-SDK-DOC/` from the SDK into the project.
|
|
87
|
+
|
|
88
|
+
## Step 4: Analyze Changes in SDK Between Versions
|
|
89
|
+
|
|
90
|
+
Use the public GitHub repository `https://github.com/Bazilio-san/fa-mcp-sdk` to analyze what changed.
|
|
91
|
+
|
|
92
|
+
### 4.1 Get the commit log between versions
|
|
93
|
+
|
|
94
|
+
Fetch the GitHub compare URL to understand what changed:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
https://api.github.com/repos/Bazilio-san/fa-mcp-sdk/compare/<FROM-ref>...<TO-ref>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Where `<FROM-ref>` and `<TO-ref>` are version tags (try both `v0.4.30` and `0.4.30` formats) or commit hashes.
|
|
101
|
+
|
|
102
|
+
If version tags don't exist, use the commits API to find commits between versions, or search `git log` for version bump commit messages.
|
|
103
|
+
|
|
104
|
+
Alternative approach — use the npm registry to get git metadata, or simply read the changelog if available.
|
|
105
|
+
|
|
106
|
+
### 4.2 Analyze changes in config files
|
|
107
|
+
|
|
108
|
+
These config files in the SDK may have changed and require corresponding updates in the project:
|
|
109
|
+
|
|
110
|
+
- `config/default.yaml` — main configuration defaults
|
|
111
|
+
- `config/custom-environment-variables.yaml` — env var mappings
|
|
112
|
+
- `config/development.yaml` — dev overrides
|
|
113
|
+
- `config/production.yaml` — production overrides
|
|
114
|
+
- `config/local.yaml` — local secrets template
|
|
115
|
+
|
|
116
|
+
For each config file, compare the SDK's version (at `node_modules/fa-mcp-sdk/config/<file>`) with the project's version (at `config/<file>`).
|
|
117
|
+
|
|
118
|
+
Identify:
|
|
119
|
+
- **New keys** added in the SDK that are missing in the project
|
|
120
|
+
- **Removed keys** that existed in the old SDK but are gone now
|
|
121
|
+
- **Changed defaults** where the SDK's default value has changed
|
|
122
|
+
- **New sections** that represent new features
|
|
123
|
+
|
|
124
|
+
### 4.3 Analyze changes in cli-template files
|
|
125
|
+
|
|
126
|
+
These directories in the SDK template may have changed:
|
|
127
|
+
|
|
128
|
+
- `node_modules/fa-mcp-sdk/cli-template/` — the project template
|
|
129
|
+
|
|
130
|
+
Compare template files with their project counterparts. Key files to check:
|
|
131
|
+
|
|
132
|
+
- `package.json` — new scripts, dependency changes
|
|
133
|
+
- `tsconfig.json` — compiler option changes
|
|
134
|
+
- `eslint.config.js` — linting rule changes
|
|
135
|
+
- `CLAUDE.md` — project instructions updates
|
|
136
|
+
- `deploy/` — deployment configuration changes
|
|
137
|
+
- `jest.config.js` — test configuration changes
|
|
138
|
+
- `.claude/skills/` — new or updated skills
|
|
139
|
+
|
|
140
|
+
### 4.4 Analyze changes in scripts
|
|
141
|
+
|
|
142
|
+
Check `node_modules/fa-mcp-sdk/scripts/` for new or modified scripts that may need to be copied or adapted in the project.
|
|
143
|
+
|
|
144
|
+
### 4.5 Analyze changes in core library exports
|
|
145
|
+
|
|
146
|
+
Read `node_modules/fa-mcp-sdk/dist/core/index.js` (or `.d.ts`) to identify:
|
|
147
|
+
- New exports that may be useful
|
|
148
|
+
- Removed/renamed exports that may break existing code
|
|
149
|
+
- Changed type signatures
|
|
150
|
+
|
|
151
|
+
### 4.6 Check project code for breaking changes
|
|
152
|
+
|
|
153
|
+
Scan the project's `src/` directory for:
|
|
154
|
+
- Imports from `fa-mcp-sdk` that reference removed/renamed exports
|
|
155
|
+
- Usage of deprecated APIs
|
|
156
|
+
- Config keys that have been renamed or restructured
|
|
157
|
+
|
|
158
|
+
## Step 5: Generate Migration Guide
|
|
159
|
+
|
|
160
|
+
Write ALL headings, descriptions, and prose in the detected language (default: English).
|
|
161
|
+
Technical content (file paths, YAML keys, code blocks, shell commands) is always in English.
|
|
162
|
+
|
|
163
|
+
Create a file `upgrade-guide-<old>-to-<new>.md` in the project root with the following structure:
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
# FA-MCP-SDK Migration Guide: v<old> -> v<new>
|
|
167
|
+
|
|
168
|
+
Generated: <timestamp>
|
|
169
|
+
|
|
170
|
+
## Summary
|
|
171
|
+
|
|
172
|
+
<Brief overview of what changed and the scope of required updates>
|
|
173
|
+
|
|
174
|
+
## Breaking Changes
|
|
175
|
+
|
|
176
|
+
<List any breaking changes that MUST be addressed. For each:>
|
|
177
|
+
- What changed
|
|
178
|
+
- What code/config is affected
|
|
179
|
+
- Exact fix with code snippets
|
|
180
|
+
|
|
181
|
+
## Config Changes
|
|
182
|
+
|
|
183
|
+
### New Configuration Keys
|
|
184
|
+
|
|
185
|
+
<For each new key, provide:>
|
|
186
|
+
- Key path (e.g., `webServer.adminAuth.type`)
|
|
187
|
+
- Default value
|
|
188
|
+
- Description
|
|
189
|
+
- Whether it needs to be added to the project's config
|
|
190
|
+
|
|
191
|
+
### Changed Defaults
|
|
192
|
+
|
|
193
|
+
<Keys where default values changed>
|
|
194
|
+
|
|
195
|
+
### Removed Keys
|
|
196
|
+
|
|
197
|
+
<Keys that were removed>
|
|
198
|
+
|
|
199
|
+
### Recommended config/default.yaml additions
|
|
200
|
+
|
|
201
|
+
```yaml
|
|
202
|
+
# Add these sections to your config/default.yaml:
|
|
203
|
+
<actual YAML snippets to add>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Recommended config/custom-environment-variables.yaml additions
|
|
207
|
+
|
|
208
|
+
```yaml
|
|
209
|
+
# Add these mappings:
|
|
210
|
+
<actual YAML snippets>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## Template File Changes
|
|
214
|
+
|
|
215
|
+
### package.json
|
|
216
|
+
|
|
217
|
+
<New scripts, changed dependencies, etc.>
|
|
218
|
+
|
|
219
|
+
### Other Template Files
|
|
220
|
+
|
|
221
|
+
<Changes in tsconfig.json, eslint.config.js, deploy/, etc.>
|
|
222
|
+
|
|
223
|
+
## New Features
|
|
224
|
+
|
|
225
|
+
<New SDK features that the project can now use>
|
|
226
|
+
|
|
227
|
+
## New/Updated Scripts
|
|
228
|
+
|
|
229
|
+
<Scripts that should be copied or updated>
|
|
230
|
+
|
|
231
|
+
## Code Changes Required
|
|
232
|
+
|
|
233
|
+
<Specific code changes needed in the project's src/ files, with before/after examples>
|
|
234
|
+
|
|
235
|
+
## Recommended Actions
|
|
236
|
+
|
|
237
|
+
<Ordered checklist of actions to complete the upgrade>
|
|
238
|
+
|
|
239
|
+
1. [ ] ...
|
|
240
|
+
2. [ ] ...
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Step 6: Assess Impact on the Project
|
|
244
|
+
|
|
245
|
+
After generating the guide, scan the current project's source code (`src/`, `config/`, `tests/`) to evaluate how the changes specifically affect THIS project. Add a section to the guide:
|
|
246
|
+
|
|
247
|
+
```markdown
|
|
248
|
+
## Impact Assessment for This Project
|
|
249
|
+
|
|
250
|
+
### Affected Files
|
|
251
|
+
|
|
252
|
+
<List of project files that need modification, with specific changes>
|
|
253
|
+
|
|
254
|
+
### Risk Level
|
|
255
|
+
|
|
256
|
+
<Low / Medium / High — based on the number and nature of breaking changes>
|
|
257
|
+
|
|
258
|
+
### Estimated Effort
|
|
259
|
+
|
|
260
|
+
<Brief assessment of the work required>
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
## Step 7: Present Results
|
|
264
|
+
|
|
265
|
+
1. Display a summary of the key findings to the user.
|
|
266
|
+
2. Tell the user the full guide has been saved to `upgrade-guide-<old>-to-<new>.md`.
|
|
267
|
+
3. Ask if they want you to apply any of the recommended changes automatically.
|
|
268
|
+
|
|
269
|
+
## Important Rules
|
|
270
|
+
|
|
271
|
+
- ALWAYS read the actual files to compare — do not guess or assume what changed.
|
|
272
|
+
- When comparing YAML configs, preserve comments and structure.
|
|
273
|
+
- Do not modify project files other than `package.json` (via yarn add) and `FA-MCP-SDK-DOC/` (via update-doc.js) unless the user explicitly asks.
|
|
274
|
+
- The migration guide must contain ACTIONABLE instructions with exact code/config snippets — not vague recommendations.
|
|
275
|
+
- If GitHub API is unavailable or rate-limited, fall back to comparing files directly from `node_modules/fa-mcp-sdk/` against project files.
|
|
276
|
+
- Write the guide in the language detected from the user's arguments (default: **English**). Translate all headings, prose, and descriptions. Keep file paths, YAML keys, code blocks, and shell commands in English.
|
package/cli-template/README.md
CHANGED
|
@@ -102,4 +102,18 @@ Add to `claude_desktop_config.json`:
|
|
|
102
102
|
- **/sse** - Server-Sent Events
|
|
103
103
|
- **/mcp** - JSON-RPC 2.0
|
|
104
104
|
|
|
105
|
+
## Claude Code Skills
|
|
106
|
+
|
|
107
|
+
### `/upgrade-guide`
|
|
108
|
+
|
|
109
|
+
Generates a migration guide for upgrading `fa-mcp-sdk` to the latest (or specified) version. Analyzes config changes, template diffs, new exports, and breaking changes, then saves a step-by-step guide to `upgrade-guide-<old>-to-<new>.md`.
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
/upgrade-guide # current → latest
|
|
113
|
+
/upgrade-guide 0.5.0 # current → 0.5.0
|
|
114
|
+
/upgrade-guide 0.4.30 0.5.0 # 0.4.30 → 0.5.0
|
|
115
|
+
/upgrade-guide abc1234 def5678 # commit → commit
|
|
116
|
+
/upgrade-guide 0.4.30 0.5.0 на русском
|
|
117
|
+
```
|
|
118
|
+
|
|
105
119
|
## Security
|
|
@@ -1483,8 +1483,8 @@ textarea.prompt-modified {
|
|
|
1483
1483
|
border: 1px solid var(--border);
|
|
1484
1484
|
border-radius: var(--radius-lg);
|
|
1485
1485
|
width: 100%;
|
|
1486
|
-
max-width:
|
|
1487
|
-
|
|
1486
|
+
max-width: 90vw;
|
|
1487
|
+
height: 90vh;
|
|
1488
1488
|
display: flex;
|
|
1489
1489
|
flex-direction: column;
|
|
1490
1490
|
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fa-mcp-sdk",
|
|
3
3
|
"productName": "FA MCP SDK",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.39",
|
|
5
5
|
"description": "Core infrastructure and templates for building Model Context Protocol (MCP) servers with TypeScript",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/core/index.js",
|