clawskills-mcp 0.7.1 → 0.7.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/README.md CHANGED
@@ -32,8 +32,9 @@ No install needed. Add this to your MCP client config:
32
32
  ### Via Docker
33
33
 
34
34
  ```bash
35
- # From repo root
36
- docker build -t clawskills-mcp -f mcp-server/Dockerfile .
35
+ # From repo root — the build context must be the root, since the image
36
+ # copies skills/ and playbooks/ from there.
37
+ docker build -t clawskills-mcp .
37
38
  docker run --rm -i clawskills-mcp
38
39
  ```
39
40
 
package/dist/index.js CHANGED
@@ -308,19 +308,27 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
308
308
  tools: [
309
309
  {
310
310
  name: "list_skills",
311
- description: "List all available ClawSkills API integration skill docs.",
311
+ description: "List the slugs of every available API integration skill doc, with a one-line summary of each. " +
312
+ "Read-only; takes no arguments; returns a short list (currently 14 entries), not the doc bodies. " +
313
+ "Call this first when you do not yet know which platform slug to pass to get_skill, or to check whether a platform is covered at all before falling back to general knowledge.",
312
314
  inputSchema: { type: "object", properties: {}, required: [] },
313
315
  },
314
316
  {
315
317
  name: "get_skill",
316
- description: "Retrieve a ClawSkills skill doc by name (slug). Optionally specify a section (e.g. 'auth', 'rate-limits', 'recipes') to get just that part.",
318
+ description: "Fetch the integration guide for one SaaS platform: authentication, rate limits, pagination, error handling, and tested request recipes. " +
319
+ "Read-only. Returns Markdown. A whole doc is large (roughly 20-40 KB), so pass `section` to retrieve just the part you need unless you genuinely want everything. " +
320
+ "Use this when you already know the platform; use search_skills instead when you know the problem but not the platform. " +
321
+ "Each doc carries a `Last validated` date in its header indicating when it was last checked against the vendor's live documentation.",
317
322
  inputSchema: {
318
323
  type: "object",
319
324
  properties: {
320
- name: { type: "string", description: "Skill slug, e.g. 'salesforce', 'github', 'figma'" },
325
+ name: {
326
+ type: "string",
327
+ description: "Skill slug, lowercase, exactly as returned by list_skills. One of: asana, dynamics365, figma, github, hubspot, jira, linear, monday, notion, salesforce, servicenow, slack, stripe, zendesk.",
328
+ },
321
329
  section: {
322
330
  type: "string",
323
- description: "Optional section name. Aliases: auth, rate-limits, errors, pagination, recipes, gotchas, webhooks, overview, fields",
331
+ description: "Optional. Return only this section instead of the whole document. One of: auth, rate-limits, errors, pagination, recipes, gotchas, webhooks, overview, fields. Omit to return the full doc.",
324
332
  },
325
333
  },
326
334
  required: ["name"],
@@ -328,49 +336,70 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
328
336
  },
329
337
  {
330
338
  name: "search_skills",
331
- description: "Search across all skill docs for a query string. Returns matching excerpts with context. Useful when you don't know which skill to fetch.",
339
+ description: "Full-text search across all 14 platform skill docs, returning matching excerpts with surrounding context rather than whole documents. " +
340
+ "Read-only. Use when you know the problem but not which platform doc answers it — for example a specific error code, header, or auth mechanism. " +
341
+ "Searches single-platform docs only; use search_clawskills if the task spans two systems.",
332
342
  inputSchema: {
333
343
  type: "object",
334
344
  properties: {
335
- query: { type: "string", description: "Search query, e.g. '429 retry', 'OAuth scopes', 'webhook signature'" },
345
+ query: {
346
+ type: "string",
347
+ description: "Free-text query matched against document contents. Works best with concrete API terms, e.g. '429 retry', 'OAuth scopes', 'webhook signature'.",
348
+ },
336
349
  },
337
350
  required: ["query"],
338
351
  },
339
352
  },
340
353
  {
341
354
  name: "list_playbooks",
342
- description: "List all available ClawSkills workflow playbooks.",
355
+ description: "List the slugs of every available cross-tool workflow playbook, with a one-line summary of each. " +
356
+ "Read-only; takes no arguments; returns a short list (currently 4 entries), not the playbook bodies. " +
357
+ "Playbooks describe how to wire two systems together end to end; single-platform API questions are covered by list_skills instead.",
343
358
  inputSchema: { type: "object", properties: {}, required: [] },
344
359
  },
345
360
  {
346
361
  name: "get_playbook",
347
- description: "Retrieve a ClawSkills workflow playbook by name (slug).",
362
+ description: "Fetch one cross-tool workflow playbook: the trigger, source of truth, field mapping, idempotency and dedup keys, retry and partial-failure policy, and reconciliation steps for syncing two systems. " +
363
+ "Read-only. Returns Markdown, typically a few KB. " +
364
+ "Use this when the task spans two platforms (for example 'create a Jira issue from a Zendesk ticket'); use get_skill when the task involves only one.",
348
365
  inputSchema: {
349
366
  type: "object",
350
367
  properties: {
351
- name: { type: "string", description: "Playbook slug, e.g. 'zendesk-jira-bug-escalation'" },
368
+ name: {
369
+ type: "string",
370
+ description: "Playbook slug, lowercase, exactly as returned by list_playbooks. One of: hubspot-asana-onboarding, salesforce-hubspot-lead-sync, slack-jira-incident, zendesk-jira-bug-escalation.",
371
+ },
352
372
  },
353
373
  required: ["name"],
354
374
  },
355
375
  },
356
376
  {
357
377
  name: "search_playbooks",
358
- description: "Search across workflow playbooks for a query string and return matching excerpts with context.",
378
+ description: "Full-text search across the cross-tool workflow playbooks, returning matching excerpts with surrounding context. " +
379
+ "Read-only. Use for orchestration concerns that recur across integrations — idempotency, dedup keys, rollback, partial failure — when you do not know which playbook covers them.",
359
380
  inputSchema: {
360
381
  type: "object",
361
382
  properties: {
362
- query: { type: "string", description: "Search query, e.g. 'idempotency', 'rollback', 'customer impact'" },
383
+ query: {
384
+ type: "string",
385
+ description: "Free-text query matched against playbook contents, e.g. 'idempotency', 'rollback', 'customer impact'.",
386
+ },
363
387
  },
364
388
  required: ["query"],
365
389
  },
366
390
  },
367
391
  {
368
392
  name: "search_clawskills",
369
- description: "Search across both skills and playbooks. For workflow-shaped queries, playbooks are ranked ahead of generic skill matches.",
393
+ description: "Full-text search across both the platform skill docs and the workflow playbooks in one call, returning matching excerpts with context. " +
394
+ "Read-only. Playbooks are ranked ahead of skill matches for workflow-shaped queries. " +
395
+ "Prefer this as the default entry point when you are unsure whether the answer is a single-platform API detail or a two-system workflow; reach for search_skills or search_playbooks only when you want to restrict results to one of the two.",
370
396
  inputSchema: {
371
397
  type: "object",
372
398
  properties: {
373
- query: { type: "string", description: "Search query, e.g. 'closed won onboarding', 'zendesk jira escalation', 'lead sync'" },
399
+ query: {
400
+ type: "string",
401
+ description: "Free-text query matched against both corpora, e.g. 'closed won onboarding', 'zendesk jira escalation', 'lead sync'.",
402
+ },
374
403
  },
375
404
  required: ["query"],
376
405
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawskills-mcp",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "MCP server exposing ClawSkills API integration skill docs to AI agents",
5
5
  "license": "MIT",
6
6
  "author": "ClawSkills Contributors",
package/skills/ROADMAP.md CHANGED
@@ -19,7 +19,7 @@ This skill set enables end-to-end automation and integration across the most com
19
19
  | Layer | Status |
20
20
  |-------|--------|
21
21
  | **14 skill docs** — Monday.com, Salesforce, Jira, Dynamics 365, HubSpot, ServiceNow, Zendesk, Asana, GitHub, Figma, Slack, Stripe, Notion, Linear | ✅ Live |
22
- | **MCP server** — `clawskills-mcp` v0.7.1 on npm; `list_skills`, `get_skill`, `search_skills` | ✅ Live |
22
+ | **MCP server** — `clawskills-mcp` v0.7.2 on npm; `list_skills`, `get_skill`, `search_skills` | ✅ Live |
23
23
  | **CI pipeline** — build + test on every push/PR via `ci.yml` | ✅ Live |
24
24
  | **Release automation** — `prepare-release.yml` workflow_dispatch → release PR; `release.yml` on merge → npm publish via OIDC + tag | ✅ Live |
25
25
  | **Test suite** — Vitest unit tests + real-skills validation (required sections, ≥5 KB, all 14 tools) | ✅ Live |
@@ -83,7 +83,7 @@ The repo now needs tighter alignment between the canonical `skills/` directory,
83
83
  | Channel | Status | Next action |
84
84
  |---------|--------|-------------|
85
85
  | GitHub (public) | Ready to flip | Make repo public |
86
- | npm (`clawskills-mcp`) | ✅ Live — v0.7.1 | Maintain via `release.yml` |
86
+ | npm (`clawskills-mcp`) | ✅ Live — v0.7.2 | Maintain via `release.yml` |
87
87
  | MCP registry listings | Not submitted | Submit to glama.ai, mcp.so, smithery.ai after public launch |
88
88
  | Docs website | Planned | Mintlify — fastest path to SEO-friendly browsable docs |
89
89
  | Lane A vs B | TBD | Revisit after first traction signals from public launch |