-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtools.yaml
More file actions
165 lines (156 loc) · 4.59 KB
/
Copy pathtools.yaml
File metadata and controls
165 lines (156 loc) · 4.59 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#
# task-loop tool catalog — v0 seed
#
# Same registry shape as mcp-server: each tool declares name, description,
# tags, side_effect, and an optional full schema (only injected into a prompt
# when its tags match a task's tags).
#
# v0 seed pulls in what already exists locally: mcp-server registry tools
# (log / notify / commands) and vital-pulse health-data readers.
#
# Servers: named tool servers tools route to. `mcp` is the local mcp-server
# over plain HTTP/JSON (openapi); `vital` is the health-data server over the
# MCP Streamable HTTP protocol.
#
# Secrets and hostnames are NOT hardcoded here — every value supports
# ${VAR:-default} substitution (shell/docker-compose semantics):
# ${VAR} -> the env var's value, or "" if unset
# ${VAR:-default} -> the env var's value, or `default` if unset/empty
#
# On bare metal: TASKLOOP_* comes from a local `.env` (copied from
# .env.example). In Docker: TASKLOOP_ENV=production skips `.env` entirely and
# real environment variables are used (see docker-compose.yml example in README).
#
servers:
mcp:
url: ${TASKLOOP_MCP_URL:-http://localhost:8627}
api_key: ${TASKLOOP_MCP_API_KEY:-}
protocol: openapi
vital:
url: ${TASKLOOP_VITAL_URL:-http://localhost:9000}
api_key: ${TASKLOOP_VITAL_API_KEY:-}
protocol: mcp
# Server-level `tags:` is the inherited default for every tool discovered
# from this server via tools/list. Per-tool `tags:` in the tools: list
# wins. Leave it off and the boot warning flags untagged endpoints.
tags: [health, vital]
tools:
- name: log.info
description: Append a line to the local task-loop log
tags: [core, logging]
side_effect: true
server:
name: mcp
schema:
type: object
properties:
message:
type: string
description: The line to log
required: [message]
- name: notify
description: Send a notification to the user (desktop/app)
tags: [core, notify]
side_effect: true
server:
name: mcp
schema:
type: object
properties:
message:
type: string
description: The notification text
required: [message]
- name: command.run
description: Run a shell command on the local machine
tags: [sys, commands]
side_effect: true
server:
name: mcp
schema:
type: object
properties:
cmd:
type: string
description: The shell command to run
required: [cmd]
- name: health.pull_steps
description: Pull today's step count from the health tracker
tags: [health, vital]
side_effect: false
returns: A number with the step count (e.g. "10000"). Report the number
exactly, no conversion.
server:
name: vital
schema:
type: object
properties: {}
- name: health.pull_hrv
description: Pull today's heart-rate variability reading
tags: [health, vital]
side_effect: false
server:
name: vital
schema:
type: object
properties: {}
- name: health.pull_sleep
description: Pull last night's sleep summary
tags: [health, vital]
side_effect: false
server:
name: vital
schema:
type: object
properties: {}
- name: weather
description: Get current weather and days of forecast for the configured location
tags: [weather, daily]
side_effect: false
returns: A JSON object with current conditions (temperature, condition, day/date)
and daily forecast entries for the requested number of days. Read values
literally from the JSON; do not invent conditions or times.
server:
name: mcp
method: GET
base_path: weather
schema:
type: object
properties:
days:
type: integer
minimum: 1
maximum: 7
default: 1
description: Days to forecast
- name: log
description: Append a timestamped message to the MCP log file
tags: [core, logging]
side_effect: true
server:
name: mcp
schema:
type: object
properties:
level:
type: string
enum: [info, warn, error]
default: info
description: Log level
message:
type: string
description: Message to log
required: [message]
- name: log_read
description: Read the last N lines from the MCP log file
tags: [core, logging]
side_effect: false
server:
name: mcp
schema:
type: object
properties:
lines:
type: string
default: "50"
description: Number of lines to read (as a string, matches the server)