-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose-mcp-tools.yml
More file actions
84 lines (76 loc) · 3.05 KB
/
compose-mcp-tools.yml
File metadata and controls
84 lines (76 loc) · 3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# yaml-language-server: $schema=../../../capabilities/naftiko-schema.json
---
naftiko: "0.5"
info:
label: "Compose MCP Tools"
description: "Groups API operations into domain-aligned MCP tools — business-task-oriented tool definitions rather than 1:1 endpoint-to-tool mapping that overwhelms agent context windows."
tags:
- context-engineering
- compose
- mcp
- tools
- domain-driven
created: "2026-03-19"
modified: "2026-03-19"
capability:
exposes:
- type: "mcp"
namespace: "context-engineering"
tools:
- name: "compose-mcp-tools"
description: "Group enriched API operations into domain-aligned MCP tools — compose multi-operation tasks, define tool boundaries by business intent, avoid 1:1 endpoint-to-tool mapping."
inputParameters:
- name: spec_url
in: body
type: string
description: "URL or file path to the enriched OpenAPI specification"
- name: task_map
in: body
type: object
description: "Task mapping from enrich-openapi-task-mapping capability (optional)"
- name: domain
in: body
type: string
description: "Business domain for tool grouping (e.g. 'events', 'payments', 'hr')"
steps:
- name: fetch-spec
type: call
call: "github.get-file-contents"
with:
owner: "{{owner}}"
repo: "{{repo}}"
file_path: "{{spec_url}}"
- name: cluster-operations
type: transform
description: "Cluster operations by business task affinity — group CRUD operations, compose multi-step workflows, identify atomic vs composite tool boundaries."
outputParameters:
- name: "clusters"
type: "array"
- name: define-tools
type: transform
description: "Define MCP tools from clusters — tool name, description, input parameters (simplified from raw API params), output schema (right-sized for agent context)."
outputParameters:
- name: "tools"
type: "array"
- name: validate-coverage
type: transform
description: "Validate that all operations are covered by at least one tool and no critical paths are missing."
outputParameters:
- name: "tool_definitions"
type: "array"
- name: "coverage_pct"
type: "number"
- name: "uncovered_operations"
type: "array"
- type: "http"
path: "/compose/mcp-tools"
method: "POST"
description: "REST endpoint to trigger MCP tool composition"
- type: "agent-skill"
namespace: "context-engineering"
skill:
name: "compose-mcp-tools"
description: "Group API operations into domain-aligned MCP tools"
consumes:
- import: "shared/consumes-github.yml"
as: "github"