Agent-native MCP control plane for Tinker post-training workflows: datasets, 34 Cookbook recipes, training, evaluation, checkpoints, and exports.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http counts 48 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
benchmarks_list
-
capabilities_get
-
checkpoint_delete
-
checkpoint_export
-
checkpoint_get
-
checkpoint_list
-
checkpoint_publish
-
checkpoint_set_ttl
-
checkpoint_unpublish
-
compare_runs
-
compute_logprobs
-
dataset_fetch_hf
-
dataset_inspect
-
dataset_prepare
-
dataset_probe_hf
-
dataset_render_preview
-
dataset_search_hf
-
dataset_validate
-
evaluate
-
evaluation_failures
-
evaluation_get
-
experiment_artifacts
-
experiment_autoplan
-
experiment_rollouts
-
models_list
-
object_get
-
objects_list
-
recipe_get
-
recipe_plan
-
recipe_start
-
recipes_list
-
sample
-
session_get
-
session_trace_export
-
sessions_list
-
train_distill
-
train_dpo
-
train_rl
-
train_sft
-
training_get
-
training_list
-
training_logs
-
training_metrics
-
training_plan
-
training_resume
-
training_start
-
training_stop
-
usage_get
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 2cc9449 · analyzer v33 · 2d ago
skills & prompt files 1
danger signals1
- dynamic code execution __import__() klei30-tuner-mcp-2cc9449/src/tuner/worker_job.py :84
module = __import__(recipe.module, fromlist=[recipe.entrypoint])
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 51
filesystem 27
- fs (weak) klei30-tuner-mcp-2cc9449/scripts/smoke_docker_mcp.py :7
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/scripts/update_tool_schema.py :5
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/adapters.py :8
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/artifacts.py :4
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/control.py :8
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/datasets.py :14
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/discovery.py :8
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/evaluation.py :7
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :5
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/operations.py :5
import shutil - fs klei30-tuner-mcp-2cc9449/src/tuner/recipe_policy.py :3
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/settings.py :5
from pathlib import Path
show 15 more
- fs klei30-tuner-mcp-2cc9449/src/tuner/store.py :10
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/worker_job.py :13
from pathlib import Path - fs klei30-tuner-mcp-2cc9449/src/tuner/workflows.py :7
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_artifacts.py :23
with path.open("ab") as handle: - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_datasets.py :2
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_experience_regressions.py :4
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_exports.py :8
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_hf_fetch.py :8
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_not_found.py :5
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_planning.py :2
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_recipe_catalog.py :2
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_safety_regressions.py :4
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_server.py :2
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_skill.py :1
from pathlib import Path - fs (weak) klei30-tuner-mcp-2cc9449/tests/test_store.py :4
from pathlib import Path
shell / exec 2
- shell klei30-tuner-mcp-2cc9449/src/tuner/discovery.py :6
import subprocess - shell klei30-tuner-mcp-2cc9449/src/tuner/worker_job.py :9
import subprocess
network 3
- net klei30-tuner-mcp-2cc9449/src/tuner/datasets.py :8
import urllib.parse - net klei30-tuner-mcp-2cc9449/src/tuner/operations.py :8
import urllib.request - net (weak) klei30-tuner-mcp-2cc9449/tests/test_hf_fetch.py :600
monkeypatch.setattr("urllib.request.urlopen", boom)
secrets 3
- secrets (weak) klei30-tuner-mcp-2cc9449/scripts/check_http.py :14
token = os.environ.get("TUNER_MCP_AUTH_TOKEN") - secrets (weak) klei30-tuner-mcp-2cc9449/scripts/smoke_docker_mcp.py :14
api_key = os.environ.get("TINKER_API_KEY") - secrets klei30-tuner-mcp-2cc9449/src/tuner/settings.py :30
auth_token: str | None = field(default_factory=lambda: os.getenv("TUNER_AUTH_TOKEN") or None)
database 1
- db klei30-tuner-mcp-2cc9449/src/tuner/store.py :6
import sqlite3
tool registrations 48
- recipes_list klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :163
- recipe_get klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :168
- dataset_prepare klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :176
- dataset_fetch_hf klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :184
- dataset_search_hf klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :192
- dataset_probe_hf klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :206
- experiment_autoplan klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :214
- training_plan klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :236
- recipe_plan klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :244
- training_start klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :259
- recipe_start klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :272
- training_stop klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :285
show 28 more
- capabilities_get klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :293
- models_list klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :343
- dataset_validate klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :370
- dataset_inspect klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :378
- training_list klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :388
- training_get klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :405
- training_metrics klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :424
- training_logs klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :459
- checkpoint_list klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :501
- checkpoint_get klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :510
- sample klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :523
- compute_logprobs klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :551
- train_sft klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :578
- evaluate klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :596
- compare_runs klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :614
- training_resume klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :641
- train_dpo klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :674
- train_rl klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :684
- train_distill klei30-tuner-mcp-2cc9449/src/tuner/mcp_server.py :694
- objects_list klei30-tuner-mcp-2cc9449/src/tuner/operations.py :335
- object_get klei30-tuner-mcp-2cc9449/src/tuner/operations.py :362
- dataset_render_preview klei30-tuner-mcp-2cc9449/src/tuner/operations.py :375
- experiment_artifacts klei30-tuner-mcp-2cc9449/src/tuner/operations.py :412
- experiment_rollouts klei30-tuner-mcp-2cc9449/src/tuner/operations.py :429
- benchmarks_list klei30-tuner-mcp-2cc9449/src/tuner/operations.py :444
- evaluation_get klei30-tuner-mcp-2cc9449/src/tuner/operations.py :461
- evaluation_failures klei30-tuner-mcp-2cc9449/src/tuner/operations.py :469
- usage_get klei30-tuner-mcp-2cc9449/src/tuner/operations.py :484
8 more not shown — this panel samples each group; the count above is the real total.
declared dependencies 7
- fastmcp@==4.0.3
- datasets@>=4.5,<5
- ifbench@*
- pydantic@>=2.11,<3
- tinker@>=0.27.2,<0.28
- tinker-cookbook@*
- torch@>=2.10