@guiie/buda-mcp 1.2.1 → 1.2.2
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/.cursor/rules/release-workflow.mdc +54 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/index.ts +1 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Release workflow and publishing checklist for buda-mcp
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# buda-mcp Release Workflow
|
|
7
|
+
|
|
8
|
+
## Version source-of-truth
|
|
9
|
+
|
|
10
|
+
- `package.json` is the **only** place to set the version number.
|
|
11
|
+
- After changing it, always run `npm run sync-version` to propagate it to `server.json`.
|
|
12
|
+
- All runtime references (`User-Agent`, `McpServer`, health endpoint, server-card) read from `src/version.ts` — never hardcode version strings.
|
|
13
|
+
|
|
14
|
+
## Before publishing a new version
|
|
15
|
+
|
|
16
|
+
1. Bump `package.json` version
|
|
17
|
+
2. `npm run sync-version` — updates `server.json`
|
|
18
|
+
3. `npm test` — must pass (23 unit + all integration)
|
|
19
|
+
4. Update `CHANGELOG.md` with all changes since the last release
|
|
20
|
+
5. Update `marketplace/` files if tools were added/changed/removed:
|
|
21
|
+
- `marketplace/gemini-tools.json` — function declarations
|
|
22
|
+
- `marketplace/openapi.yaml` — version field + path descriptions
|
|
23
|
+
- `marketplace/claude-listing.md` — tool descriptions
|
|
24
|
+
- `marketplace/README.md` — version header
|
|
25
|
+
6. Update `PUBLISH_CHECKLIST.md` with new version and release notes template
|
|
26
|
+
7. Commit and push
|
|
27
|
+
|
|
28
|
+
## Publishing steps (manual, done after development is complete)
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm publish --access public --provenance # → npmjs.com
|
|
32
|
+
# then create GitHub Release tag vX.Y.Z → triggers Actions workflow (MCP registry auto-publish)
|
|
33
|
+
# then notify mcp.so and Glama.ai — templates in PUBLISH_CHECKLIST.md
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Adding a new tool
|
|
37
|
+
|
|
38
|
+
1. Create `src/tools/<name>.ts`
|
|
39
|
+
2. Export `toolSchema` (name, description, inputSchema) — picked up automatically by `http.ts` server-card
|
|
40
|
+
3. Export `register(server, client, cache?)`
|
|
41
|
+
4. For tools with destructive actions: export the handler function for unit testing
|
|
42
|
+
5. Apply `validateMarketId` if the tool accepts `market_id`
|
|
43
|
+
6. Register in both `src/index.ts` and `src/http.ts`
|
|
44
|
+
7. Add to `marketplace/gemini-tools.json`, `marketplace/openapi.yaml`, `marketplace/claude-listing.md`
|
|
45
|
+
8. Add unit tests in `test/unit.ts`
|
|
46
|
+
|
|
47
|
+
## Key architecture notes
|
|
48
|
+
|
|
49
|
+
- `src/validation.ts` — `validateMarketId(id)` returns error string or null; apply before `.toLowerCase()` and URL use
|
|
50
|
+
- `src/cache.ts` — `MemoryCache` with in-flight deduplication; TTLs: markets 60s, tickers 5s, orderbooks 3s
|
|
51
|
+
- `BudaApiError` has `retryAfterMs` for 429 responses; client retries once honoring `Retry-After` header (seconds, RFC 7231, default 1s)
|
|
52
|
+
- Auth tools only registered when `BUDA_API_KEY` + `BUDA_API_SECRET` env vars are present
|
|
53
|
+
- `scripts/sync-version.mjs` — run via `npm run sync-version`
|
|
54
|
+
- Unit tests: `npm run test:unit` (no network); Integration: `npm run test:integration` (skips if API unreachable)
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/gtorreal/buda-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.2.
|
|
9
|
+
"version": "1.2.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@guiie/buda-mcp",
|
|
14
|
-
"version": "1.2.
|
|
14
|
+
"version": "1.2.2",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
}
|
package/src/index.ts
CHANGED