onetool-mcp 1.0.0rc2__py3-none-any.whl → 1.0.0rc3__py3-none-any.whl
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.
- onetool/cli.py +2 -0
- {onetool_mcp-1.0.0rc2.dist-info → onetool_mcp-1.0.0rc3.dist-info}/METADATA +26 -33
- {onetool_mcp-1.0.0rc2.dist-info → onetool_mcp-1.0.0rc3.dist-info}/RECORD +31 -33
- ot/config/__init__.py +90 -48
- ot/config/global_templates/__init__.py +2 -2
- ot/config/global_templates/diagram-templates/api-flow.mmd +33 -33
- ot/config/global_templates/diagram-templates/c4-context.puml +30 -30
- ot/config/global_templates/diagram-templates/class-diagram.mmd +87 -87
- ot/config/global_templates/diagram-templates/feature-mindmap.mmd +70 -70
- ot/config/global_templates/diagram-templates/microservices.d2 +81 -81
- ot/config/global_templates/diagram-templates/project-gantt.mmd +37 -37
- ot/config/global_templates/diagram-templates/state-machine.mmd +42 -42
- ot/config/global_templates/diagram.yaml +167 -167
- ot/config/global_templates/onetool.yaml +2 -0
- ot/config/global_templates/prompts.yaml +102 -102
- ot/config/global_templates/security.yaml +1 -4
- ot/config/global_templates/servers.yaml +1 -1
- ot/config/global_templates/tool_templates/__init__.py +7 -7
- ot/config/loader.py +226 -869
- ot/config/models.py +735 -0
- ot/config/secrets.py +243 -192
- ot/executor/tool_loader.py +10 -1
- ot/executor/validator.py +11 -1
- ot/meta.py +338 -33
- ot/prompts.py +228 -218
- ot/proxy/manager.py +168 -8
- ot/registry/__init__.py +199 -189
- ot/config/dynamic.py +0 -121
- ot/config/mcp.py +0 -149
- ot/config/tool_config.py +0 -125
- {onetool_mcp-1.0.0rc2.dist-info → onetool_mcp-1.0.0rc3.dist-info}/WHEEL +0 -0
- {onetool_mcp-1.0.0rc2.dist-info → onetool_mcp-1.0.0rc3.dist-info}/entry_points.txt +0 -0
- {onetool_mcp-1.0.0rc2.dist-info → onetool_mcp-1.0.0rc3.dist-info}/licenses/LICENSE.txt +0 -0
- {onetool_mcp-1.0.0rc2.dist-info → onetool_mcp-1.0.0rc3.dist-info}/licenses/NOTICE.txt +0 -0
onetool/cli.py
CHANGED
|
@@ -246,6 +246,7 @@ def init_validate() -> None:
|
|
|
246
246
|
"""
|
|
247
247
|
from loguru import logger
|
|
248
248
|
|
|
249
|
+
from ot import __version__
|
|
249
250
|
from ot.config.loader import get_config, load_config
|
|
250
251
|
from ot.config.secrets import load_secrets
|
|
251
252
|
from ot.executor.tool_loader import load_tool_registry
|
|
@@ -280,6 +281,7 @@ def init_validate() -> None:
|
|
|
280
281
|
|
|
281
282
|
# Report validation results
|
|
282
283
|
console.print("Configuration\n")
|
|
284
|
+
console.print(f"Version: [cyan]{__version__}[/cyan]\n")
|
|
283
285
|
|
|
284
286
|
console.print("Directories:")
|
|
285
287
|
global_exists = global_dir.exists()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onetool-mcp
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary: 🧿 One MCP,
|
|
3
|
+
Version: 1.0.0rc3
|
|
4
|
+
Summary: 🧿 One MCP for developers - No tool tax, no context rot. 100+ tools including Brave, Gemini, Context7, Version Checker, Excel, File Ops, Database, Chrome DevTools.
|
|
5
5
|
Project-URL: Homepage, https://github.com/beycom/onetool
|
|
6
6
|
Project-URL: Repository, https://github.com/beycom/onetool
|
|
7
7
|
Project-URL: Documentation, https://onetool.beycom.online
|
|
@@ -47,14 +47,13 @@ Provides-Extra: file
|
|
|
47
47
|
Requires-Dist: send2trash>=2.1.0; extra == 'file'
|
|
48
48
|
Description-Content-Type: text/markdown
|
|
49
49
|
|
|
50
|
-
<!-- mcp-name: io.github.beycom/onetool-mcp -->
|
|
51
|
-
|
|
52
50
|
<p align="center">
|
|
51
|
+
<!-- mcp-name: io.github.beycom/onetool-mcp -->
|
|
53
52
|
<img src="https://raw.githubusercontent.com/beycom/onetool-mcp/main/docs/assets/logo.svg" alt="OneTool" width="80">
|
|
54
53
|
</p>
|
|
55
54
|
|
|
56
55
|
<p align="center">
|
|
57
|
-
<strong>🧿 One MCP,
|
|
56
|
+
<strong>🧿 One MCP for developers - No tool tax, no context rot.<br>100+ tools including Brave, Gemini, Context7, Version Checker, Excel, File Ops, Database, Chrome DevTools.</strong>
|
|
58
57
|
</p>
|
|
59
58
|
|
|
60
59
|
<p align="center">
|
|
@@ -65,7 +64,7 @@ Description-Content-Type: text/markdown
|
|
|
65
64
|
</p>
|
|
66
65
|
|
|
67
66
|
<p align="center">
|
|
68
|
-
Works with Claude Code
|
|
67
|
+
Works with Claude Code or any MCP client
|
|
69
68
|
</p>
|
|
70
69
|
|
|
71
70
|
---
|
|
@@ -100,9 +99,9 @@ Configure one MCP server. Use unlimited tools.
|
|
|
100
99
|
|
|
101
100
|
## See It In Action
|
|
102
101
|
|
|
103
|
-
| Demo
|
|
104
|
-
|
|
|
105
|
-
| [Compare the Search](https://youtu.be/Dv-_dtHVU_A)
|
|
102
|
+
| Demo | Description |
|
|
103
|
+
| ------------------------------------------------------ | ------------------------------- |
|
|
104
|
+
| [Compare the Search](https://youtu.be/Dv-_dtHVU_A) | Side-by-side token comparison |
|
|
106
105
|
| [Build a Wikipedia Tool](https://youtu.be/AZz03Yw0s1E) | Create a custom tool in seconds |
|
|
107
106
|
|
|
108
107
|
---
|
|
@@ -152,7 +151,7 @@ Verify: `onetool init validate`
|
|
|
152
151
|
| **MCP Server Proxy** | Wrap existing MCP servers without the tool tax |
|
|
153
152
|
| **Scaffold Tools** | Build new tools as part of the conversation |
|
|
154
153
|
| **Smart Tools** | Delegate to cheaper LLMs (10× savings) |
|
|
155
|
-
| **Single YAML Config** | Global
|
|
154
|
+
| **Single YAML Config** | Global configuration, per-pack settings, includes |
|
|
156
155
|
| **Security Layers** | AST validation, path boundaries, output sanitisation |
|
|
157
156
|
|
|
158
157
|
---
|
|
@@ -161,23 +160,23 @@ Verify: `onetool init validate`
|
|
|
161
160
|
|
|
162
161
|
15 packs, 100+ tools ready to use:
|
|
163
162
|
|
|
164
|
-
| Pack
|
|
165
|
-
|
|
|
166
|
-
| `brave`
|
|
167
|
-
| `code`
|
|
168
|
-
| `context7`
|
|
169
|
-
| `convert`
|
|
170
|
-
| `db`
|
|
171
|
-
| `diagram`
|
|
172
|
-
| `excel`
|
|
173
|
-
| `file`
|
|
174
|
-
| `ground`
|
|
175
|
-
| `llm`
|
|
176
|
-
| `ot`
|
|
177
|
-
| `package`
|
|
178
|
-
| `ripgrep`
|
|
179
|
-
| `scaffold`
|
|
180
|
-
| `web`
|
|
163
|
+
| Pack | Tools | Description |
|
|
164
|
+
| ---------- | --------------------------------------- | ---------------------- |
|
|
165
|
+
| `brave` | `search`, `news` | Web and news search |
|
|
166
|
+
| `code` | `search`, `search_batch`, `status` | Semantic code search |
|
|
167
|
+
| `context7` | `resolve`, `get_docs` | Library documentation |
|
|
168
|
+
| `convert` | `pdf_to_md`, `docx_to_md`, `pptx_to_md` | Document conversion |
|
|
169
|
+
| `db` | `query`, `schema`, `tables` | Database operations |
|
|
170
|
+
| `diagram` | `create` | Mermaid diagrams |
|
|
171
|
+
| `excel` | `read`, `write`, `query` | Excel files |
|
|
172
|
+
| `file` | `read`, `write`, `list`, `search` | File operations |
|
|
173
|
+
| `ground` | `search` | Google Grounding |
|
|
174
|
+
| `llm` | `transform`, `transform_file` | LLM-powered transforms |
|
|
175
|
+
| `ot` | `help`, `tools`, `stats` | Introspection |
|
|
176
|
+
| `package` | `npm`, `pypi`, `cargo` | Package versions |
|
|
177
|
+
| `ripgrep` | `search`, `count` | Fast code search |
|
|
178
|
+
| `scaffold` | `tool` | Generate new tools |
|
|
179
|
+
| `web` | `fetch`, `fetch_batch` | Web fetching |
|
|
181
180
|
|
|
182
181
|
[📖 Complete tools reference](https://onetool.beycom.online/reference/tools/) — full summary table with all 100+ tools
|
|
183
182
|
|
|
@@ -247,12 +246,6 @@ __ot wiki.summary(title="Python_(programming_language)")
|
|
|
247
246
|
|
|
248
247
|
---
|
|
249
248
|
|
|
250
|
-
## Contributing
|
|
251
|
-
|
|
252
|
-
[Contribution guidelines](https://github.com/beycom/onetool-mcp/blob/main/CONTRIBUTING.md)
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
249
|
## License
|
|
257
250
|
|
|
258
251
|
**GPLv3** - Will transition to **MIT** at v2.0.
|
|
@@ -13,7 +13,7 @@ bench/harness/evaluate.py,sha256=Mv6I63aBXwEZHoarUOYu3UIG3-rRcInLtBULlqcqeDk,172
|
|
|
13
13
|
bench/harness/metrics.py,sha256=5Zy0x3IG-CeXUk-nxGm8-w2YCds1B2oxNGQMKNkgjGE,9690
|
|
14
14
|
bench/harness/runner.py,sha256=Gx9_IXVBhmogaWCf5e-YNuuyDNeJVJpSPKtbp7PyxaI,38332
|
|
15
15
|
onetool/__init__.py,sha256=NH91OBFDKBASlyorvmrLjckwXblgcToPkdqtZOIya7o,110
|
|
16
|
-
onetool/cli.py,sha256
|
|
16
|
+
onetool/cli.py,sha256=Zq9KpqUuixMSkpz8nY2NR8ZBzcLDtxeeHtVlYyJRB6w,14044
|
|
17
17
|
onetool/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
18
|
ot/__init__.py,sha256=WI1BaMpZr1Xag5DLy8710K19v4EEiU0plLsgbCWWgz0,983
|
|
19
19
|
ot/__main__.py,sha256=7H47GZ-tb1Ih8MoYHnaNPjYPxsOXXnVL983IrTxOFPo,129
|
|
@@ -21,37 +21,35 @@ ot/_cli.py,sha256=cJ6mazEkl1cseHTUmtPFrsJfjZZ5IFkfFqh0c5s7xuY,2700
|
|
|
21
21
|
ot/_tui.py,sha256=fbF_iwK58EBPhxWmEEQozneHlSRr7MRop7aRugVQ688,1437
|
|
22
22
|
ot/decorators.py,sha256=gPNDtQSiVxa7HDzqeYJJnqb_fKhgTDREnspNo1s0zr4,3339
|
|
23
23
|
ot/http_client.py,sha256=1BuRWHxTSmRleXGFvZzs4nzCv9GV7HKOZ0YSRVh1_JE,4308
|
|
24
|
-
ot/meta.py,sha256=
|
|
24
|
+
ot/meta.py,sha256=N_rvfb6r5-lds9Da5-FySFWXfqakb0pDnPEvNEjVigA,69751
|
|
25
25
|
ot/paths.py,sha256=6yqPKdQ8zXLcQ9Txbr-pf41IfZuMpBJZNjN-Eet6H54,14221
|
|
26
|
-
ot/prompts.py,sha256=
|
|
26
|
+
ot/prompts.py,sha256=U28gSoLVil7YfTOeJxwoFqjWJiR1eGJYJiNRXKuADZo,6886
|
|
27
27
|
ot/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
28
|
ot/server.py,sha256=uBp1ZG9czCTz5IymZz5MfXNMChSQJ38JXhjhiMYjsn4,10531
|
|
29
29
|
ot/support.py,sha256=CqrsJCzVVoHnY0uis6_YtqVJLOG8llzjvoyzIUAn8Ms,1702
|
|
30
30
|
ot/tools.py,sha256=V-Qb34WmfWYqxIKp_aGcuXn06-IM_PNOQspfC1-dcUM,3590
|
|
31
|
-
ot/config/__init__.py,sha256=
|
|
32
|
-
ot/config/
|
|
33
|
-
ot/config/
|
|
34
|
-
ot/config/
|
|
35
|
-
ot/config/
|
|
36
|
-
ot/config/tool_config.py,sha256=BisTtEj9Ws8NnWxvSbW9kskkygO8F-RO4Mgm9KIuPm0,3651
|
|
37
|
-
ot/config/global_templates/__init__.py,sha256=4hYQjxPiEe02VmpvWXVfgJgbSwg89euX9mG182oa58M,111
|
|
31
|
+
ot/config/__init__.py,sha256=H8edwhQ8gYQDhC7A_rAOQqe2s7ck_M5W0HrtZyDwcZ0,2157
|
|
32
|
+
ot/config/loader.py,sha256=dt4Ww3QmkKnFnRWLX2o1e-4h7dTQcle7i9pJ-ztoYpM,17519
|
|
33
|
+
ot/config/models.py,sha256=Xf5TwGf-Vo9VxOghtKW1dyra249fl_BKCU3EBBzvM5A,23081
|
|
34
|
+
ot/config/secrets.py,sha256=ukhkz-dHlZ8JUxLsOoH8MoxgtOuBqMuYjP8ezfRYJtk,6903
|
|
35
|
+
ot/config/global_templates/__init__.py,sha256=aHmytPELRNraAZf2cMf5c9-4yZQUd5m5Z9wg0-dMRKY,109
|
|
38
36
|
ot/config/global_templates/bench-secrets-template.yaml,sha256=srZcnOM8Af2gQTpmo7g16sE9-zj0Tlguv54V-WE3hCs,224
|
|
39
37
|
ot/config/global_templates/bench.yaml,sha256=h2Ac5-unilwx5TPvDsp02y4I0WiPI7y9CyRh7FIBuL8,223
|
|
40
|
-
ot/config/global_templates/diagram.yaml,sha256=
|
|
41
|
-
ot/config/global_templates/onetool.yaml,sha256=
|
|
42
|
-
ot/config/global_templates/prompts.yaml,sha256=
|
|
38
|
+
ot/config/global_templates/diagram.yaml,sha256=oPeRCacB_1hrSwnSXuTNv98J9HnFg2vSWejnswp6tQs,5489
|
|
39
|
+
ot/config/global_templates/onetool.yaml,sha256=ffkMVUppWZSo3hyFXaC2w0jb_U4cD9QXfjeGKNe2pF0,1102
|
|
40
|
+
ot/config/global_templates/prompts.yaml,sha256=nF4ofCaKPeNTct4jbsSveQbOvbYEMPUdIbJrNXkwCxo,4779
|
|
43
41
|
ot/config/global_templates/secrets-template.yaml,sha256=sUb2uExdrx_07bH2UVKtp-tqCSpcW-PenH_UFDxPF2k,1541
|
|
44
|
-
ot/config/global_templates/security.yaml,sha256=
|
|
45
|
-
ot/config/global_templates/servers.yaml,sha256=
|
|
42
|
+
ot/config/global_templates/security.yaml,sha256=a9kfEAqvk_EE81tqNCeLXC2uXqtGbiU8x56YMD9Bmfo,1215
|
|
43
|
+
ot/config/global_templates/servers.yaml,sha256=gS0uDF8aghcmoKbQAm0TyY1mTrYYh3QGeF7UIAXA71o,4905
|
|
46
44
|
ot/config/global_templates/snippets.yaml,sha256=PLjc_4KLRWNR_DPFB0MF_LisKCEvdc5XvvnEHUd3Aio,8920
|
|
47
|
-
ot/config/global_templates/diagram-templates/api-flow.mmd,sha256=
|
|
48
|
-
ot/config/global_templates/diagram-templates/c4-context.puml,sha256=
|
|
49
|
-
ot/config/global_templates/diagram-templates/class-diagram.mmd,sha256=
|
|
50
|
-
ot/config/global_templates/diagram-templates/feature-mindmap.mmd,sha256=
|
|
51
|
-
ot/config/global_templates/diagram-templates/microservices.d2,sha256=
|
|
52
|
-
ot/config/global_templates/diagram-templates/project-gantt.mmd,sha256=
|
|
53
|
-
ot/config/global_templates/diagram-templates/state-machine.mmd,sha256=
|
|
54
|
-
ot/config/global_templates/tool_templates/__init__.py,sha256=
|
|
45
|
+
ot/config/global_templates/diagram-templates/api-flow.mmd,sha256=YizXla-1o85KyUJqMoT2rOJqFa6wUqhZNf8ZnZtvjyI,696
|
|
46
|
+
ot/config/global_templates/diagram-templates/c4-context.puml,sha256=v6KPHcZ2Q_0QY9h80oLTb_xzJUB1Qq5XyeuzNckVh9c,916
|
|
47
|
+
ot/config/global_templates/diagram-templates/class-diagram.mmd,sha256=T1VfDg6UK-tKxgT3qZF45JOlMiCdl4Nsa3tmrQhoaLU,1717
|
|
48
|
+
ot/config/global_templates/diagram-templates/feature-mindmap.mmd,sha256=mjpih6ehYH5Z8cMquAN7U-8BR8UshC7ggeMOkDQWaF8,1357
|
|
49
|
+
ot/config/global_templates/diagram-templates/microservices.d2,sha256=vzW_HJs0-XiOzOjxLZngcqZzjnJGdgPwutqgkXVyaZw,1448
|
|
50
|
+
ot/config/global_templates/diagram-templates/project-gantt.mmd,sha256=TNNHDund_OaUM_G1ByGJAPIz95TLBPgtuNMB8rEYu5s,1277
|
|
51
|
+
ot/config/global_templates/diagram-templates/state-machine.mmd,sha256=fO36UWr0inb979kyHB1PnLx7RYLzOWd4_ZCBXNmRdDw,971
|
|
52
|
+
ot/config/global_templates/tool_templates/__init__.py,sha256=RwRpiQf_iQ5S7uGsfWM92cE8JN_Y1KDqaPfo24h-A5w,214
|
|
55
53
|
ot/config/global_templates/tool_templates/extension.py,sha256=VfHxAjiIZ2BdbFMWEkdxGZT4OUxSAUb9ng9p-HH2lCM,1371
|
|
56
54
|
ot/config/global_templates/tool_templates/isolated.py,sha256=aTl7_hG1ALHCGqyHMPjKa6fNBXoTBPjsLtbFgq76LAg,1556
|
|
57
55
|
ot/executor/__init__.py,sha256=0qA-CZ2uTfe0Mqso1yLb1zdOlGWJKby4Qn4Ucb4zpgg,871
|
|
@@ -64,8 +62,8 @@ ot/executor/pep723.py,sha256=TWX9rphcf7LtR6GFRpN-j5BrteUUsCjg5UNoy-UH6w0,8762
|
|
|
64
62
|
ot/executor/result_store.py,sha256=BwTd4Gk0JPVmysGB0bC1vtc3M-5q4ZMsfkBle7e-jRE,11104
|
|
65
63
|
ot/executor/runner.py,sha256=Wbroj0AE0YKPnWeNyJyJAnjRZttv1-w3Z9n9C5th2o4,17100
|
|
66
64
|
ot/executor/simple.py,sha256=_RfFlHy0-AnOFvUoYuLqxuD94SiG2IXSvmfQBLQzpYo,5192
|
|
67
|
-
ot/executor/tool_loader.py,sha256=
|
|
68
|
-
ot/executor/validator.py,sha256=
|
|
65
|
+
ot/executor/tool_loader.py,sha256=siGbcsycwh-kv-YfWM-Vb2CJh8tgZF6J9AQvz98qLg0,13585
|
|
66
|
+
ot/executor/validator.py,sha256=Gz8BTcubpdXCD1KWxZvDEV5vUURXIpoVfnx9b8jrrLM,31206
|
|
69
67
|
ot/executor/worker_pool.py,sha256=HJOu3P9E5MKgBZsddmeElctPUhF5kwx5Hfd9IezwJo8,12635
|
|
70
68
|
ot/executor/worker_proxy.py,sha256=NUxOI2VZFkNbH5IMulvokHEe5cZQtViOSpb4DEHBf4I,5651
|
|
71
69
|
ot/logging/__init__.py,sha256=s4nAEAxqpiRY6bdRNyEwIj-3n0WkaYktN_ACtS8mqK8,980
|
|
@@ -74,8 +72,8 @@ ot/logging/entry.py,sha256=f6B6A8xOdbdvTzU7TeYgexlphNHtRxH4VGM0JfEfImI,6382
|
|
|
74
72
|
ot/logging/format.py,sha256=6MpyfaSZzhwqv0AQRIPTmCnrivqdC7hbIUlZ1A7N6_U,5681
|
|
75
73
|
ot/logging/span.py,sha256=3R-hJJAQPXPmFwofWgcQN2qNiQFhq7HuhfNIqllsV0M,11722
|
|
76
74
|
ot/proxy/__init__.py,sha256=N4shk9gsZ76BBe8tUftXL83ELB42zlbTXtF05lTUqUc,435
|
|
77
|
-
ot/proxy/manager.py,sha256=
|
|
78
|
-
ot/registry/__init__.py,sha256=
|
|
75
|
+
ot/proxy/manager.py,sha256=WyYvs-Vsb5Yak7t4abaGNea6NPq0J5One9ZHOh3Vufo,20030
|
|
76
|
+
ot/registry/__init__.py,sha256=x4ZT-b47PAIY5bbdsm1YElchxIeY_3ZS_dJdai40wts,5364
|
|
79
77
|
ot/registry/models.py,sha256=Z-lsRRN3pDyL2nUalZA9QoD1IG_e7aSPUoE6TvRspCk,2160
|
|
80
78
|
ot/registry/parser.py,sha256=OpRXT47aKQNk-TxzWq9WLep2RPICvUDCvLKDeO4Z464,8685
|
|
81
79
|
ot/registry/registry.py,sha256=HFPPIGWop2szXRQeQeFs5axK4iS17dEOHV8qf9Jm5nE,13458
|
|
@@ -121,9 +119,9 @@ ot_tools/_convert/pdf.py,sha256=BAZJh-6fWQFyuVSPeN22FwWf56SH2AlOTpwuqnnZrPk,7577
|
|
|
121
119
|
ot_tools/_convert/powerpoint.py,sha256=M8lwkTV7x4wafR7eXrVojCBKgcXVxO1tT-Z2Ml5wwxo,7855
|
|
122
120
|
ot_tools/_convert/utils.py,sha256=AfId8ulTx_kKq0zVbhvuY3KGXqQjEk8Y7o8BXjP8WgA,10192
|
|
123
121
|
ot_tools/_convert/word.py,sha256=XfjqQRhEYS_433LprmF6vqyosytXVdNWzsCXo42WNcA,8710
|
|
124
|
-
onetool_mcp-1.0.
|
|
125
|
-
onetool_mcp-1.0.
|
|
126
|
-
onetool_mcp-1.0.
|
|
127
|
-
onetool_mcp-1.0.
|
|
128
|
-
onetool_mcp-1.0.
|
|
129
|
-
onetool_mcp-1.0.
|
|
122
|
+
onetool_mcp-1.0.0rc3.dist-info/METADATA,sha256=ZnuIFmlz32XdQnyQS7F0ksFTWNviK47G56HxINSn16A,9523
|
|
123
|
+
onetool_mcp-1.0.0rc3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
124
|
+
onetool_mcp-1.0.0rc3.dist-info/entry_points.txt,sha256=UUr3FvhGxnRdyJSxRG5YeqCGUi8nQ3oMCoueM35sF04,66
|
|
125
|
+
onetool_mcp-1.0.0rc3.dist-info/licenses/LICENSE.txt,sha256=eenW0GFt38rIpO3MguA49tq9bcAJR2NWECenWW3JoAs,35561
|
|
126
|
+
onetool_mcp-1.0.0rc3.dist-info/licenses/NOTICE.txt,sha256=X-5KsBMpZYEDvljq9_0Rr1wJ18pzm52ftcgeruy-5tE,2096
|
|
127
|
+
onetool_mcp-1.0.0rc3.dist-info/RECORD,,
|
ot/config/__init__.py
CHANGED
|
@@ -1,48 +1,90 @@
|
|
|
1
|
-
"""Centralized configuration for OneTool.
|
|
2
|
-
|
|
3
|
-
This module provides a single source of truth for all configuration settings
|
|
4
|
-
via YAML configuration for tool discovery and settings.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
from ot.config import
|
|
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
|
-
|
|
1
|
+
"""Centralized configuration for OneTool V2 (global-only).
|
|
2
|
+
|
|
3
|
+
This module provides a single source of truth for all configuration settings
|
|
4
|
+
via YAML configuration for tool discovery and settings.
|
|
5
|
+
|
|
6
|
+
Key changes from V1:
|
|
7
|
+
- Global-only configuration (no project configs or inheritance)
|
|
8
|
+
- Root-level env: section for subprocess environment variables
|
|
9
|
+
- Runtime variable expansion (happens in get_tool_config(), not load_config())
|
|
10
|
+
- Defaults embedded in Pydantic models (no template files)
|
|
11
|
+
- Depth-limited includes (no circular detection)
|
|
12
|
+
|
|
13
|
+
Usage:
|
|
14
|
+
from ot.config import get_config, load_config
|
|
15
|
+
|
|
16
|
+
config = get_config()
|
|
17
|
+
print(config.log_level)
|
|
18
|
+
print(config.tools_dir)
|
|
19
|
+
|
|
20
|
+
# For tools to access their configuration:
|
|
21
|
+
from ot.config import get_tool_config
|
|
22
|
+
|
|
23
|
+
class Config(BaseModel):
|
|
24
|
+
timeout: float = 60.0
|
|
25
|
+
|
|
26
|
+
config = get_tool_config("brave", Config)
|
|
27
|
+
|
|
28
|
+
# For variable expansion (secrets.yaml → env: section):
|
|
29
|
+
from ot.config import expand_vars
|
|
30
|
+
|
|
31
|
+
api_url = expand_vars("https://api.example.com?key=${API_KEY}")
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
from ot.config.loader import (
|
|
35
|
+
ConfigNotFoundError,
|
|
36
|
+
get_config,
|
|
37
|
+
get_tool_config,
|
|
38
|
+
is_log_verbose,
|
|
39
|
+
load_config,
|
|
40
|
+
)
|
|
41
|
+
from ot.config.loader import (
|
|
42
|
+
reset as reset_config,
|
|
43
|
+
)
|
|
44
|
+
from ot.config.models import (
|
|
45
|
+
McpServerConfig,
|
|
46
|
+
OneToolConfig,
|
|
47
|
+
SecurityConfig,
|
|
48
|
+
SnippetDef,
|
|
49
|
+
SnippetParam,
|
|
50
|
+
)
|
|
51
|
+
from ot.config.secrets import (
|
|
52
|
+
expand_secrets,
|
|
53
|
+
expand_vars,
|
|
54
|
+
get_secret,
|
|
55
|
+
get_secrets,
|
|
56
|
+
load_secrets,
|
|
57
|
+
)
|
|
58
|
+
from ot.config.secrets import (
|
|
59
|
+
reset as reset_secrets,
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def reset() -> None:
|
|
64
|
+
"""Clear all config and secrets caches for reload.
|
|
65
|
+
|
|
66
|
+
This is a convenience function that resets both config and secrets caches.
|
|
67
|
+
Use this as part of the reload flow (called from ot.reload()).
|
|
68
|
+
"""
|
|
69
|
+
reset_config()
|
|
70
|
+
reset_secrets()
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
__all__ = [
|
|
74
|
+
"ConfigNotFoundError",
|
|
75
|
+
"McpServerConfig",
|
|
76
|
+
"OneToolConfig",
|
|
77
|
+
"SecurityConfig",
|
|
78
|
+
"SnippetDef",
|
|
79
|
+
"SnippetParam",
|
|
80
|
+
"expand_secrets",
|
|
81
|
+
"expand_vars",
|
|
82
|
+
"get_config",
|
|
83
|
+
"get_secret",
|
|
84
|
+
"get_secrets",
|
|
85
|
+
"get_tool_config",
|
|
86
|
+
"is_log_verbose",
|
|
87
|
+
"load_config",
|
|
88
|
+
"load_secrets",
|
|
89
|
+
"reset",
|
|
90
|
+
]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
# OneTool Global Templates
|
|
2
|
-
# This package contains template config files copied to ~/.onetool/ on first run.
|
|
1
|
+
# OneTool Global Templates
|
|
2
|
+
# This package contains template config files copied to ~/.onetool/ on first run.
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
%% API Flow Template - Sequence Diagram
|
|
2
|
-
%% Replace placeholders with actual service names and operations
|
|
3
|
-
|
|
4
|
-
sequenceDiagram
|
|
5
|
-
participant C as Client
|
|
6
|
-
participant GW as API Gateway
|
|
7
|
-
participant S as Service
|
|
8
|
-
participant DB as Database
|
|
9
|
-
|
|
10
|
-
Note over C,DB: Request Flow
|
|
11
|
-
|
|
12
|
-
C->>GW: POST /api/resource
|
|
13
|
-
activate GW
|
|
14
|
-
|
|
15
|
-
GW->>GW: Validate token
|
|
16
|
-
alt Invalid token
|
|
17
|
-
GW-->>C: 401 Unauthorized
|
|
18
|
-
else Valid token
|
|
19
|
-
GW->>S: Forward request
|
|
20
|
-
activate S
|
|
21
|
-
|
|
22
|
-
S->>DB: Query data
|
|
23
|
-
activate DB
|
|
24
|
-
DB-->>S: Result set
|
|
25
|
-
deactivate DB
|
|
26
|
-
|
|
27
|
-
S-->>GW: Response payload
|
|
28
|
-
deactivate S
|
|
29
|
-
|
|
30
|
-
GW-->>C: 200 OK + data
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
deactivate GW
|
|
1
|
+
%% API Flow Template - Sequence Diagram
|
|
2
|
+
%% Replace placeholders with actual service names and operations
|
|
3
|
+
|
|
4
|
+
sequenceDiagram
|
|
5
|
+
participant C as Client
|
|
6
|
+
participant GW as API Gateway
|
|
7
|
+
participant S as Service
|
|
8
|
+
participant DB as Database
|
|
9
|
+
|
|
10
|
+
Note over C,DB: Request Flow
|
|
11
|
+
|
|
12
|
+
C->>GW: POST /api/resource
|
|
13
|
+
activate GW
|
|
14
|
+
|
|
15
|
+
GW->>GW: Validate token
|
|
16
|
+
alt Invalid token
|
|
17
|
+
GW-->>C: 401 Unauthorized
|
|
18
|
+
else Valid token
|
|
19
|
+
GW->>S: Forward request
|
|
20
|
+
activate S
|
|
21
|
+
|
|
22
|
+
S->>DB: Query data
|
|
23
|
+
activate DB
|
|
24
|
+
DB-->>S: Result set
|
|
25
|
+
deactivate DB
|
|
26
|
+
|
|
27
|
+
S-->>GW: Response payload
|
|
28
|
+
deactivate S
|
|
29
|
+
|
|
30
|
+
GW-->>C: 200 OK + data
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
deactivate GW
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
@startuml C4 Context Diagram
|
|
2
|
-
!include <C4/C4_Context>
|
|
3
|
-
|
|
4
|
-
title System Context Diagram - [System Name]
|
|
5
|
-
|
|
6
|
-
' Actors
|
|
7
|
-
Person(user, "User", "A user of the system who needs to accomplish tasks")
|
|
8
|
-
Person(admin, "Administrator", "Manages system configuration and users")
|
|
9
|
-
|
|
10
|
-
' Core system
|
|
11
|
-
System(system, "My System", "Provides the main functionality that users need")
|
|
12
|
-
|
|
13
|
-
' External systems
|
|
14
|
-
System_Ext(email, "Email System", "Sends notifications and alerts")
|
|
15
|
-
System_Ext(payment, "Payment Provider", "Handles payment processing")
|
|
16
|
-
System_Ext(identity, "Identity Provider", "Manages authentication via SSO")
|
|
17
|
-
|
|
18
|
-
' Relationships
|
|
19
|
-
Rel(user, system, "Uses", "HTTPS")
|
|
20
|
-
Rel(admin, system, "Administers", "HTTPS")
|
|
21
|
-
|
|
22
|
-
Rel(system, email, "Sends emails using", "SMTP")
|
|
23
|
-
Rel(system, payment, "Processes payments via", "HTTPS/REST")
|
|
24
|
-
Rel(system, identity, "Authenticates users with", "OIDC")
|
|
25
|
-
|
|
26
|
-
' Layout hints
|
|
27
|
-
Lay_D(user, system)
|
|
28
|
-
Lay_R(system, email)
|
|
29
|
-
|
|
30
|
-
@enduml
|
|
1
|
+
@startuml C4 Context Diagram
|
|
2
|
+
!include <C4/C4_Context>
|
|
3
|
+
|
|
4
|
+
title System Context Diagram - [System Name]
|
|
5
|
+
|
|
6
|
+
' Actors
|
|
7
|
+
Person(user, "User", "A user of the system who needs to accomplish tasks")
|
|
8
|
+
Person(admin, "Administrator", "Manages system configuration and users")
|
|
9
|
+
|
|
10
|
+
' Core system
|
|
11
|
+
System(system, "My System", "Provides the main functionality that users need")
|
|
12
|
+
|
|
13
|
+
' External systems
|
|
14
|
+
System_Ext(email, "Email System", "Sends notifications and alerts")
|
|
15
|
+
System_Ext(payment, "Payment Provider", "Handles payment processing")
|
|
16
|
+
System_Ext(identity, "Identity Provider", "Manages authentication via SSO")
|
|
17
|
+
|
|
18
|
+
' Relationships
|
|
19
|
+
Rel(user, system, "Uses", "HTTPS")
|
|
20
|
+
Rel(admin, system, "Administers", "HTTPS")
|
|
21
|
+
|
|
22
|
+
Rel(system, email, "Sends emails using", "SMTP")
|
|
23
|
+
Rel(system, payment, "Processes payments via", "HTTPS/REST")
|
|
24
|
+
Rel(system, identity, "Authenticates users with", "OIDC")
|
|
25
|
+
|
|
26
|
+
' Layout hints
|
|
27
|
+
Lay_D(user, system)
|
|
28
|
+
Lay_R(system, email)
|
|
29
|
+
|
|
30
|
+
@enduml
|