@cursor/july 0.1.113 → 0.1.114
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/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.CAeK13eM.js → app.BqkJwOZ-.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.BnSgidYE.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.C9LbPHod.js → VPLocalSearchBox.BJAi2KiV.js} +1 -1
- package/dist/docs/assets/chunks/{arc.CmMq2zmS.js → arc.BZpXTgvV.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CCXB8Uj5.js → architectureDiagram-Q4EWVU46.WYI-7F-Y.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.CyQo6eLe.js → baseUniq.CZaUPpg0.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.JYq6w91N.js → blockDiagram-DXYQGD6D.D6UES2pD.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BRV8GPJJ.js → c4Diagram-AHTNJAMY.cwebIe4i.js} +1 -1
- package/dist/docs/assets/chunks/channel.DdM5EfNW.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.Bv4ooYQR.js → chunk-4BX2VUAB.fVyFnjxg.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.t4JtKPcj.js → chunk-4TB4RGXK.BanufG1c.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.34lCHj9Y.js → chunk-55IACEB6.VaSMz5-2.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BSwrPNrt.js → chunk-EDXVE4YY.CN2diZOM.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.Beeun-R-.js → chunk-FMBD7UC4.g4ivypu3.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.BUUFUcJc.js → chunk-OYMX7WX6.GZXKn9JJ.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.B2XjHzN_.js → chunk-QZHKN3VN.itXxJZCd.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CLYG8znk.js → chunk-YZCP3GAM.-rw2GfvX.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CjfGHeg2.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CjfGHeg2.js +1 -0
- package/dist/docs/assets/chunks/clone.wSOICb_f.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.DVEa6fZp.js → cose-bilkent-S5V4N54A.CmaI5br0.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.C9PZQK-S.js → dagre-KV5264BT.4wY9S4Kt.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DoN0uv3Y.js → diagram-5BDNPKRD.Pc3c0u9W.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Czv3duqx.js → diagram-G4DWMVQ6.CYrWz-nj.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BinJ5kWb.js → diagram-MMDJMWI5.Bgj5hukb.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.DW326M4K.js → diagram-TYMM5635.DGMEXalS.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.U2pR_OA7.js → erDiagram-SMLLAGMA.GepTV9Im.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.ByWJXeYK.js → flowDiagram-DWJPFMVM.DVKywg3j.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.OquF0Rtg.js → ganttDiagram-T4ZO3ILL.C7qt9Mlo.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.Bpn01P7X.js → gitGraphDiagram-UUTBAWPF.U30_r82P.js} +1 -1
- package/dist/docs/assets/chunks/{graph.CNRB6ETL.js → graph.CyyMyAWv.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.CqhknMWi.js → infoDiagram-42DDH7IO.Dn9ACW3y.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.C6xpR2af.js → ishikawaDiagram-UXIWVN3A.DlIdIGOA.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.Cg5f7oB3.js → journeyDiagram-VCZTEJTY.DZj4vy4E.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.Cx9YTwlU.js → kanban-definition-6JOO6SKY.Dl63eMUV.js} +1 -1
- package/dist/docs/assets/chunks/{layout.ljS-wFtK.js → layout.BLHZLWPH.js} +1 -1
- package/dist/docs/assets/chunks/{linear.jSxNrsFC.js → linear.aXKGKaNw.js} +1 -1
- package/dist/docs/assets/chunks/{min.Cum8AlQw.js → min.zWnFcpcc.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BLiysLpe.js → mindmap-definition-QFDTVHPH.Qs4MQBea.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BoIDyuKF.js → pieDiagram-DEJITSTG.BmPHgsk7.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DLkpDytR.js → quadrantDiagram-34T5L4WZ.D5MQ3gwA.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DqTVqSu2.js → requirementDiagram-MS252O5E.CkdUFrO7.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.CG_6FF7j.js → sankeyDiagram-XADWPNL6.KZrljrAV.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BIp9602K.js → sequenceDiagram-FGHM5R23.XMoEW-Lx.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.COSXsD9I.js → stateDiagram-FHFEXIEX.BmTzePLj.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Cu5X28zZ.js +1 -0
- package/dist/docs/assets/chunks/{theme.CXJ7PNwy.js → theme.BfQzpxsg.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.CXdVqkLq.js → timeline-definition-GMOUNBTQ.Dug0oamp.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CZxGuc4r.js → vennDiagram-DHZGUBPP.BOTHrEFu.js} +1 -1
- package/dist/docs/assets/chunks/{wardley-RL74JXVD.3oVgfqQk.js → wardley-RL74JXVD.DXy2i1LS.js} +1 -1
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.6_irCgGJ.js → wardleyDiagram-NUSXRM2D.CoXKdfi6.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.TRPe92m3.js → xychartDiagram-5P7HB3ND.DXoSCjAW.js} +1 -1
- package/dist/docs/assets/{deployment.md.D2jQZuFx.js → deployment.md.D2YX7u_I.js} +1 -1
- package/dist/docs/assets/{guides_agent-to-agent.md.CD4T5FIl.js → guides_agent-to-agent.md.C6kPY8nu.js} +2 -2
- package/dist/docs/assets/{guides_cloud-agents.md.Cp1O3u-X.js → guides_cloud-agents.md.BPJqTZjT.js} +1 -1
- package/dist/docs/assets/{guides_grokbot-agents.md.CMhZNdEU.js → guides_grokbot-agents.md.CzV715v8.js} +1 -1
- package/dist/docs/assets/guides_hooks.md.BT9GLwEp.js +50 -0
- package/dist/docs/assets/guides_hooks.md.BT9GLwEp.lean.js +1 -0
- package/dist/docs/assets/{guides_jev.md.F5fAkkfN.js → guides_jev.md.DeSCqMaO.js} +6 -44
- package/dist/docs/assets/guides_jev.md.DeSCqMaO.lean.js +1 -0
- package/dist/docs/assets/reference_agent-config.md.BRxAlnRy.js +36 -0
- package/dist/docs/assets/{reference_agent-config.md.DGPyw7ms.lean.js → reference_agent-config.md.BRxAlnRy.lean.js} +1 -1
- package/dist/docs/assets/reference_artifacts.md.KRX0sAdt.js +18 -0
- package/dist/docs/assets/reference_artifacts.md.KRX0sAdt.lean.js +1 -0
- package/dist/docs/assets/reference_channels.md.DZr14vm7.js +23 -0
- package/dist/docs/assets/reference_channels.md.DZr14vm7.lean.js +1 -0
- package/dist/docs/assets/{reference_connections.md.Je9dMsdd.js → reference_connections.md.DJGUCxrr.js} +18 -30
- package/dist/docs/assets/{reference_connections.md.Je9dMsdd.lean.js → reference_connections.md.DJGUCxrr.lean.js} +1 -1
- package/dist/docs/assets/{reference_evals.md.DNJzM_yf.js → reference_evals.md.C6umwNC6.js} +6 -7
- package/dist/docs/assets/reference_evals.md.C6umwNC6.lean.js +1 -0
- package/dist/docs/assets/{reference_extensions.md.Cv5aLCz_.js → reference_extensions.md.DbNYu-DP.js} +3 -3
- package/dist/docs/assets/{reference_extensions.md.Cv5aLCz_.lean.js → reference_extensions.md.DbNYu-DP.lean.js} +1 -1
- package/dist/docs/assets/reference_hooks.md.BfOkhTU0.js +45 -0
- package/dist/docs/assets/{reference_hooks.md.B7uzNENk.lean.js → reference_hooks.md.BfOkhTU0.lean.js} +1 -1
- package/dist/docs/assets/reference_http-api.md.DdwtBeCj.js +11 -0
- package/dist/docs/assets/{reference_http-api.md.CduHavZ2.lean.js → reference_http-api.md.DdwtBeCj.lean.js} +1 -1
- package/dist/docs/assets/reference_instructions.md.B2mcIzT6.js +14 -0
- package/dist/docs/assets/reference_instructions.md.B2mcIzT6.lean.js +1 -0
- package/dist/docs/assets/reference_playground.md.CyrQD_n3.js +1 -0
- package/dist/docs/assets/reference_playground.md.CyrQD_n3.lean.js +1 -0
- package/dist/docs/assets/reference_project-layout.md.BEMzxAkq.js +19 -0
- package/dist/docs/assets/{reference_project-layout.md.BGhgpy9V.lean.js → reference_project-layout.md.BEMzxAkq.lean.js} +1 -1
- package/dist/docs/assets/reference_prompt.md.BFrqjHFL.js +9 -0
- package/dist/docs/assets/reference_prompt.md.BFrqjHFL.lean.js +1 -0
- package/dist/docs/assets/reference_schedules.md.BB9N3tRR.js +47 -0
- package/dist/docs/assets/reference_schedules.md.BB9N3tRR.lean.js +1 -0
- package/dist/docs/assets/reference_sessions.md.BBp-GIt-.js +1 -0
- package/dist/docs/assets/{reference_sessions.md.1_6Vyv7x.lean.js → reference_sessions.md.BBp-GIt-.lean.js} +1 -1
- package/dist/docs/assets/reference_skills.md.BVmi3UJ_.js +15 -0
- package/dist/docs/assets/{reference_skills.md.DjQkRefx.lean.js → reference_skills.md.BVmi3UJ_.lean.js} +1 -1
- package/dist/docs/assets/reference_subagents.md.DRoRy2Uj.js +10 -0
- package/dist/docs/assets/{reference_subagents.md.Dl16gcBj.lean.js → reference_subagents.md.DRoRy2Uj.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.B1dH1lpa.js → reference_tools.md.CgocLDX1.js} +9 -6
- package/dist/docs/assets/{reference_tools.md.B1dH1lpa.lean.js → reference_tools.md.CgocLDX1.lean.js} +1 -1
- package/dist/docs/assets/troubleshooting.md.HY95rCCz.js +1 -0
- package/dist/docs/building-with-agents.html +35 -35
- package/dist/docs/deployment.html +37 -37
- package/dist/docs/deployment.md +1 -1
- package/dist/docs/evals.html +35 -35
- package/dist/docs/guides/agent-to-agent.html +38 -38
- package/dist/docs/guides/agent-to-agent.md +11 -12
- package/dist/docs/guides/bitbucket.html +35 -35
- package/dist/docs/guides/cloud-agents.html +36 -36
- package/dist/docs/guides/cloud-agents.md +1 -1
- package/dist/docs/guides/convert-automation.html +35 -35
- package/dist/docs/guides/github.html +35 -35
- package/dist/docs/guides/gitlab.html +35 -35
- package/dist/docs/guides/grokbot-agents.html +37 -37
- package/dist/docs/guides/grokbot-agents.md +1 -1
- package/dist/docs/guides/hooks.html +109 -0
- package/dist/docs/guides/hooks.md +111 -0
- package/dist/docs/guides/improve.html +35 -35
- package/dist/docs/guides/jev.html +42 -80
- package/dist/docs/guides/jev.md +22 -79
- package/dist/docs/guides/mcp-oauth.html +36 -36
- package/dist/docs/guides/opentelemetry.html +35 -35
- package/dist/docs/guides/slack.html +35 -35
- package/dist/docs/guides/webhooks.html +35 -35
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +35 -35
- package/dist/docs/index.html +35 -35
- package/dist/docs/llms-full.txt +993 -1303
- package/dist/docs/llms.txt +8 -7
- package/dist/docs/quickstart.html +35 -35
- package/dist/docs/reference/agent-config.html +42 -46
- package/dist/docs/reference/agent-config.md +48 -81
- package/dist/docs/reference/artifacts.html +39 -40
- package/dist/docs/reference/artifacts.md +71 -70
- package/dist/docs/reference/channels.html +41 -61
- package/dist/docs/reference/channels.md +134 -201
- package/dist/docs/reference/cli.html +35 -35
- package/dist/docs/reference/connections.html +54 -66
- package/dist/docs/reference/connections.md +92 -128
- package/dist/docs/reference/evals.html +42 -43
- package/dist/docs/reference/evals.md +42 -50
- package/dist/docs/reference/extensions.html +38 -38
- package/dist/docs/reference/extensions.md +9 -13
- package/dist/docs/reference/hooks.html +39 -67
- package/dist/docs/reference/hooks.md +72 -146
- package/dist/docs/reference/http-api.html +39 -39
- package/dist/docs/reference/http-api.md +137 -161
- package/dist/docs/reference/instructions.html +39 -39
- package/dist/docs/reference/instructions.md +21 -36
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/playground.md +26 -43
- package/dist/docs/reference/project-layout.html +38 -38
- package/dist/docs/reference/project-layout.md +12 -17
- package/dist/docs/reference/prompt.html +42 -42
- package/dist/docs/reference/prompt.md +18 -13
- package/dist/docs/reference/schedules.html +56 -91
- package/dist/docs/reference/schedules.md +52 -99
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/sessions.md +36 -40
- package/dist/docs/reference/skills.html +38 -38
- package/dist/docs/reference/skills.md +15 -26
- package/dist/docs/reference/subagents.html +38 -38
- package/dist/docs/reference/subagents.md +20 -30
- package/dist/docs/reference/tools.html +44 -41
- package/dist/docs/reference/tools.md +45 -64
- package/dist/docs/templates/agentic-owners.html +35 -35
- package/dist/docs/templates/pr-autofixer.html +35 -35
- package/dist/docs/templates/security-reviewer.html +35 -35
- package/dist/docs/templates/thermo-quality-review.html +35 -35
- package/dist/docs/templates/thermo-review.html +35 -35
- package/dist/docs/templates/triage.html +35 -35
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/docs/troubleshooting.md +1 -1
- package/dist/playground/assets/{index-DSMAewbx.css → index-C61EWMBK.css} +1 -1
- package/dist/playground/index.html +2 -2
- package/docs/deployment.md +1 -1
- package/docs/guides/agent-to-agent.md +11 -12
- package/docs/guides/cloud-agents.md +1 -1
- package/docs/guides/grokbot-agents.md +1 -1
- package/docs/guides/hooks.md +116 -0
- package/docs/guides/jev.md +23 -80
- package/docs/reference/agent-config.md +48 -81
- package/docs/reference/artifacts.md +72 -71
- package/docs/reference/channels.md +135 -202
- package/docs/reference/connections.md +93 -129
- package/docs/reference/evals.md +43 -51
- package/docs/reference/extensions.md +9 -13
- package/docs/reference/hooks.md +72 -146
- package/docs/reference/http-api.md +137 -161
- package/docs/reference/instructions.md +22 -37
- package/docs/reference/playground.md +26 -43
- package/docs/reference/project-layout.md +12 -17
- package/docs/reference/prompt.md +20 -15
- package/docs/reference/schedules.md +52 -99
- package/docs/reference/sessions.md +36 -40
- package/docs/reference/skills.md +15 -26
- package/docs/reference/subagents.md +20 -30
- package/docs/reference/tools.md +45 -64
- package/docs/troubleshooting.md +1 -1
- package/package.json +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.Ck9E52Ls.js +0 -1
- package/dist/docs/assets/chunks/channel.BHiYmnZ4.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Degh8l90.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Degh8l90.js +0 -1
- package/dist/docs/assets/chunks/clone.BIywbczV.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.qrxrbFsX.js +0 -1
- package/dist/docs/assets/guides_jev.md.F5fAkkfN.lean.js +0 -1
- package/dist/docs/assets/reference_agent-config.md.DGPyw7ms.js +0 -40
- package/dist/docs/assets/reference_artifacts.md.Bu_4HmsD.js +0 -19
- package/dist/docs/assets/reference_artifacts.md.Bu_4HmsD.lean.js +0 -1
- package/dist/docs/assets/reference_channels.md.nFWbzAic.js +0 -43
- package/dist/docs/assets/reference_channels.md.nFWbzAic.lean.js +0 -1
- package/dist/docs/assets/reference_evals.md.DNJzM_yf.lean.js +0 -1
- package/dist/docs/assets/reference_hooks.md.B7uzNENk.js +0 -73
- package/dist/docs/assets/reference_http-api.md.CduHavZ2.js +0 -11
- package/dist/docs/assets/reference_instructions.md.CU1My5My.js +0 -14
- package/dist/docs/assets/reference_instructions.md.CU1My5My.lean.js +0 -1
- package/dist/docs/assets/reference_playground.md.Ch2d0Iqi.js +0 -1
- package/dist/docs/assets/reference_playground.md.Ch2d0Iqi.lean.js +0 -1
- package/dist/docs/assets/reference_project-layout.md.BGhgpy9V.js +0 -19
- package/dist/docs/assets/reference_prompt.md.Ccp0R53H.js +0 -1
- package/dist/docs/assets/reference_prompt.md.Ccp0R53H.lean.js +0 -1
- package/dist/docs/assets/reference_schedules.md.B2Nm6FaD.js +0 -82
- package/dist/docs/assets/reference_schedules.md.B2Nm6FaD.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.1_6Vyv7x.js +0 -1
- package/dist/docs/assets/reference_skills.md.DjQkRefx.js +0 -15
- package/dist/docs/assets/reference_subagents.md.Dl16gcBj.js +0 -10
- package/dist/docs/assets/troubleshooting.md.mnfFG2Em.js +0 -1
- /package/dist/docs/assets/{deployment.md.D2jQZuFx.lean.js → deployment.md.D2YX7u_I.lean.js} +0 -0
- /package/dist/docs/assets/{guides_agent-to-agent.md.CD4T5FIl.lean.js → guides_agent-to-agent.md.C6kPY8nu.lean.js} +0 -0
- /package/dist/docs/assets/{guides_cloud-agents.md.Cp1O3u-X.lean.js → guides_cloud-agents.md.BPJqTZjT.lean.js} +0 -0
- /package/dist/docs/assets/{guides_grokbot-agents.md.CMhZNdEU.lean.js → guides_grokbot-agents.md.CzV715v8.lean.js} +0 -0
- /package/dist/docs/assets/{troubleshooting.md.mnfFG2Em.lean.js → troubleshooting.md.HY95rCCz.lean.js} +0 -0
- /package/dist/playground/assets/{index-De_lpFxE.js → index-CrMWlgUU.js} +0 -0
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "MCP
|
|
2
|
+
title: "MCP connections"
|
|
3
3
|
description: "Pull in tools from MCP servers: remote, stdio, the signed-in Cursor account's connectors, and peer agents."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# MCP
|
|
6
|
+
# MCP connections
|
|
7
7
|
|
|
8
|
-
An MCP connection gives the agent tools from an MCP server.
|
|
9
|
-
server under `agent/mcp-connections
|
|
10
|
-
name
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
An MCP connection gives the agent tools from an MCP server. Define one
|
|
9
|
+
file per server under `agent/mcp-connections/`; the filename becomes the
|
|
10
|
+
server name. Default-export `defineConnection` from
|
|
11
|
+
`@cursor/july/connections`. The transport is remote HTTP, local stdio,
|
|
12
|
+
the signed-in Cursor account's connectors, or a peer agent on the same
|
|
13
|
+
host.
|
|
14
14
|
|
|
15
|
-
Put a server in `agent/host-connections/` when host tools should
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
those files.
|
|
15
|
+
Put a server in `agent/host-connections/` when only host tools should
|
|
16
|
+
call it. Host connections use the same `defineConnection` shape and
|
|
17
|
+
support `agent-sdk mcp oauth`; the model and playground don't see them.
|
|
19
18
|
|
|
20
19
|
## Remote MCP server
|
|
21
20
|
|
|
@@ -37,8 +36,7 @@ Tokens come from env vars. Never hardcode them in the file.
|
|
|
37
36
|
For servers that speak OAuth, set `oauth: true` and authorize with the
|
|
38
37
|
CLI or mid-run Connect. Tokens live in `mcp-auth.json` under the CLI
|
|
39
38
|
config directory. `--store` copies them onto the deployment as
|
|
40
|
-
`MCP_OAUTH_<NAME>_*` secrets.
|
|
41
|
-
process retry.
|
|
39
|
+
`MCP_OAUTH_<NAME>_*` secrets.
|
|
42
40
|
|
|
43
41
|
```ts
|
|
44
42
|
export default defineConnection({
|
|
@@ -50,24 +48,17 @@ export default defineConnection({
|
|
|
50
48
|
```bash
|
|
51
49
|
agent-sdk mcp oauth inventory # browser PKCE → local mcp-auth.json
|
|
52
50
|
agent-sdk mcp oauth inventory --store # also upsert deployment secrets
|
|
53
|
-
# Hosted Connect retries this process. Self-hosted stays file-only.
|
|
54
51
|
```
|
|
55
52
|
|
|
56
53
|
Full walkthrough: [Host MCP OAuth](../guides/mcp-oauth.md). Companion
|
|
57
54
|
skill: [`skills/mcp-auth/SKILL.md`](../../skills/mcp-auth/SKILL.md).
|
|
58
55
|
|
|
59
|
-
|
|
60
|
-
already linked in the Cursor dashboard. Omit `servers` (or pass `"*"`)
|
|
61
|
-
to forward every connected connector. If the model should call those
|
|
62
|
-
tools by name on local turns, set `advertiseTools: true`.
|
|
56
|
+
## Per-session auth
|
|
63
57
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
declare an `auth` callback instead of static headers. It runs host-side
|
|
69
|
-
at turn-build time with the session's `SessionInfo` and returns headers
|
|
70
|
-
merged over the static ones:
|
|
58
|
+
For http/sse connections whose credential depends on who the session is
|
|
59
|
+
for, declare an `auth` callback instead of static headers. It runs
|
|
60
|
+
host-side with the session's `SessionInfo` and returns headers merged
|
|
61
|
+
over the static ones:
|
|
71
62
|
|
|
72
63
|
```ts
|
|
73
64
|
export default defineConnection({
|
|
@@ -75,39 +66,31 @@ export default defineConnection({
|
|
|
75
66
|
auth: async (session) => ({
|
|
76
67
|
headers: { Authorization: `Bearer ${await grantFor(session)}` },
|
|
77
68
|
}),
|
|
78
|
-
advertiseTools: true,
|
|
69
|
+
advertiseTools: true,
|
|
79
70
|
});
|
|
80
71
|
```
|
|
81
72
|
|
|
82
|
-
The
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
identity. Local runtime only; cloud turns are refused. `host.mcp` calls
|
|
88
|
-
from server tools keep the static headers only. Not combinable with
|
|
89
|
-
`oauth: true`; the host OAuth provider owns the Authorization header.
|
|
73
|
+
The identity always comes from the session itself, never from a tenant
|
|
74
|
+
parameter the model could invent. A callback that throws fails the
|
|
75
|
+
turn; a cloud turn with `auth` is refused instead of running without
|
|
76
|
+
that identity. `host.mcp` calls from server tools keep the static
|
|
77
|
+
headers only. You can't combine `auth` with `oauth: true`.
|
|
90
78
|
|
|
91
79
|
Derive the identity from durable session facts: `session.auth`,
|
|
92
|
-
`session.id`, or your channel's own session state. Do
|
|
93
|
-
`session.continuationKey
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
## Advertise a connection's tools by name (`advertiseTools`) {#advertise-tools}
|
|
107
|
-
|
|
108
|
-
Set `advertiseTools: true` when the model should call an MCP server's tools
|
|
109
|
-
by name. The Agent SDK preserves each tool's name, description, input and
|
|
110
|
-
output schemas, and MCP annotations.
|
|
80
|
+
`session.id`, or your channel's own session state. Do not key it off
|
|
81
|
+
`session.continuationKey`. The HTTP channel rotates that key after every
|
|
82
|
+
accepted follow-up, so a tenant mapping keyed on it breaks
|
|
83
|
+
mid-conversation.
|
|
84
|
+
|
|
85
|
+
`auth` works attached or advertised. Advertise the auth connection
|
|
86
|
+
instead of attaching it next to a stateful stdio server.
|
|
87
|
+
|
|
88
|
+
## Advertise tools {#advertise-tools}
|
|
89
|
+
|
|
90
|
+
Set `advertiseTools: true` when the model should call an MCP server's
|
|
91
|
+
tools by name. The Agent SDK preserves each tool's description, input
|
|
92
|
+
and output schemas, and MCP annotations. Exposed names normalize invalid
|
|
93
|
+
characters and add numeric suffixes to avoid collisions.
|
|
111
94
|
|
|
112
95
|
```ts
|
|
113
96
|
export default defineConnection({
|
|
@@ -117,20 +100,22 @@ export default defineConnection({
|
|
|
117
100
|
});
|
|
118
101
|
```
|
|
119
102
|
|
|
120
|
-
A listing
|
|
121
|
-
|
|
122
|
-
|
|
103
|
+
A listing or authentication failure fails the turn by default. Set
|
|
104
|
+
`optional: true` to omit an unavailable connection instead. Advertised
|
|
105
|
+
tools follow the same runtime support as server tools, and [direct tool
|
|
106
|
+
calls](./tools.md#call-a-tool-without-a-model-turn) use the same names.
|
|
123
107
|
|
|
124
|
-
In a dry-run session, MCP tools marked read-only run normally. Tools
|
|
125
|
-
as writes are stubbed. Tools without effect annotations are
|
|
108
|
+
In a dry-run session, MCP tools marked read-only run normally. Tools
|
|
109
|
+
marked as writes are stubbed. Tools without effect annotations are
|
|
110
|
+
unavailable.
|
|
126
111
|
|
|
127
|
-
##
|
|
112
|
+
## Filter connection tools
|
|
128
113
|
|
|
129
114
|
Use `tools` the same way you allowlist harness tools on the agent. When
|
|
130
115
|
set, the connection serves only those names. Use `disallowedTools` to
|
|
131
|
-
drop names instead. The two combine as deny-wins
|
|
132
|
-
|
|
133
|
-
|
|
116
|
+
drop names instead. The two combine as deny-wins. The model and
|
|
117
|
+
`host.mcp` only see what remains. A model-visible filter requires
|
|
118
|
+
`advertiseTools: true`.
|
|
134
119
|
|
|
135
120
|
```ts
|
|
136
121
|
export default defineConnection({
|
|
@@ -138,7 +123,9 @@ export default defineConnection({
|
|
|
138
123
|
advertiseTools: true,
|
|
139
124
|
tools: ["search_skus", "get_stock"],
|
|
140
125
|
});
|
|
126
|
+
```
|
|
141
127
|
|
|
128
|
+
```ts
|
|
142
129
|
export default defineConnection({
|
|
143
130
|
url: "https://mcp.example.com/inventory",
|
|
144
131
|
advertiseTools: true,
|
|
@@ -147,9 +134,9 @@ export default defineConnection({
|
|
|
147
134
|
```
|
|
148
135
|
|
|
149
136
|
Names are the server's `tools/list` names. Unknown names are omitted. A
|
|
150
|
-
filter that matches nothing on the server fails the turn
|
|
151
|
-
`effects: "read"` to keep only the listed
|
|
152
|
-
reads.
|
|
137
|
+
filter that matches nothing on the server fails the turn unless
|
|
138
|
+
`optional: true`. Combine with `effects: "read"` to keep only the listed
|
|
139
|
+
tools the server classifies as reads.
|
|
153
140
|
|
|
154
141
|
A list of names is an allowlist. An object of handlers authors TypeScript
|
|
155
142
|
tools. On `host-connections/`, a name list restricts `host.mcp` without
|
|
@@ -167,12 +154,8 @@ export default defineConnection({
|
|
|
167
154
|
});
|
|
168
155
|
```
|
|
169
156
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
To run TypeScript in the agent environment (including a repo-less cloud
|
|
174
|
-
VM), author the tools on the connection instead. The Agent SDK packages
|
|
175
|
-
them as stdio MCP. You write `execute`. The Agent SDK speaks the protocol.
|
|
157
|
+
To run TypeScript in the agent environment, including a repo-less cloud
|
|
158
|
+
VM, author the tools on the connection instead. You write `execute`:
|
|
176
159
|
|
|
177
160
|
```ts
|
|
178
161
|
export default defineConnection({
|
|
@@ -190,12 +173,12 @@ export default defineConnection({
|
|
|
190
173
|
## Cursor account MCP connection
|
|
191
174
|
|
|
192
175
|
`{ cursorAccount: true }` forwards the MCP connectors the signed-in
|
|
193
|
-
Cursor account already authorized (dashboard → MCP)
|
|
194
|
-
|
|
176
|
+
Cursor account already authorized (dashboard → MCP), such as Linear,
|
|
177
|
+
Notion, and Slack. You don't configure tokens. Every tool runs on the
|
|
195
178
|
Cursor backend with the account's stored OAuth credentials, so raw
|
|
196
|
-
tokens never reach the
|
|
179
|
+
tokens never reach the serving host, session workspaces, or traces.
|
|
197
180
|
|
|
198
|
-
By default the agent gets
|
|
181
|
+
By default the agent gets every connected HTTP/SSE connector on the
|
|
199
182
|
account. Pass `servers: "*"` (or `["*"]`) for the same all-connectors
|
|
200
183
|
behavior in an explicit form. Pass a name list when you want a smaller
|
|
201
184
|
set.
|
|
@@ -206,12 +189,9 @@ export default defineConnection({
|
|
|
206
189
|
cursorAccount: true,
|
|
207
190
|
advertiseTools: true,
|
|
208
191
|
});
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
servers: "*",
|
|
213
|
-
advertiseTools: true,
|
|
214
|
-
});
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
```ts
|
|
215
195
|
// only Linear:
|
|
216
196
|
export default defineConnection({
|
|
217
197
|
cursorAccount: true,
|
|
@@ -222,17 +202,15 @@ export default defineConnection({
|
|
|
222
202
|
|
|
223
203
|
Name the file `account.ts`. `cursor.ts` collides with the IDE `cursor`
|
|
224
204
|
MCP namespace. `advertiseTools: true` puts connector tools on local
|
|
225
|
-
turns by name.
|
|
205
|
+
turns by name.
|
|
226
206
|
|
|
227
207
|
The host must be signed in (`agent-sdk login`, `CURSOR_API_KEY`, or
|
|
228
|
-
`CURSOR_SERVICE_ACCOUNT_KEY`).
|
|
229
|
-
`serve` fails fast at startup otherwise, and logs each connector's live
|
|
230
|
-
status (`connected`, `needsAuth`, `error`) as it starts.
|
|
208
|
+
`CURSOR_SERVICE_ACCOUNT_KEY`). `serve` fails at startup otherwise.
|
|
231
209
|
|
|
232
210
|
Filtered account connections work on managed cloud deployments. A
|
|
233
|
-
self-hosted cloud agent with a concrete `servers` list needs
|
|
234
|
-
Serve fails instead of ignoring the filter. Use a
|
|
235
|
-
for stdio servers.
|
|
211
|
+
self-hosted cloud agent with a concrete `servers` list needs
|
|
212
|
+
`--public-url`. Serve fails instead of ignoring the filter. Use a
|
|
213
|
+
`{ command }` connection for stdio servers.
|
|
236
214
|
|
|
237
215
|
> [!CAUTION]
|
|
238
216
|
> Whoever can talk to the agent can drive these connectors, because they
|
|
@@ -242,11 +220,11 @@ for stdio servers.
|
|
|
242
220
|
> for example an SSO proxy or the hosted alias token). Prefer
|
|
243
221
|
> `--bearer-token` on shared hosts.
|
|
244
222
|
|
|
245
|
-
## Peer MCP connection
|
|
223
|
+
## Peer MCP connection {#peer-mcp-connection}
|
|
246
224
|
|
|
247
225
|
`{ agent: "<slug>" }` addresses another agent mounted on the same serve
|
|
248
|
-
host. The model gets the peer's `ask` and `check`
|
|
249
|
-
tools and can delegate work to it:
|
|
226
|
+
host. The model gets the peer's `ask` and `check` tools, plus
|
|
227
|
+
`call_tool` when the peer has server tools, and can delegate work to it:
|
|
250
228
|
|
|
251
229
|
```ts
|
|
252
230
|
export default defineConnection({
|
|
@@ -258,48 +236,34 @@ export default defineConnection({
|
|
|
258
236
|
Unknown slugs and self-references fail `serve` at startup. Walkthrough:
|
|
259
237
|
[Peer agents](../guides/agent-to-agent.md#delegate-a-question-to-a-specialist).
|
|
260
238
|
|
|
261
|
-
##
|
|
262
|
-
|
|
263
|
-
A file under `agent/mcp-connections/` serves three consumers. Host
|
|
264
|
-
connections skip the first one.
|
|
265
|
-
|
|
266
|
-
1. **Cursor agent:** Attached connections ride SDK `mcpServers` behind
|
|
267
|
-
harness MCP meta-tools. Set `advertiseTools: true` so local turns see
|
|
268
|
-
named tools.
|
|
269
|
-
2. **Server tools:** Deterministic host code composes MCP calls
|
|
270
|
-
through `ctx.host.mcp`:
|
|
271
|
-
|
|
272
|
-
```ts
|
|
273
|
-
export default defineTool({
|
|
274
|
-
description: "Search Linear issues.",
|
|
275
|
-
inputSchema: z.object({ query: z.string() }),
|
|
276
|
-
async execute({ query }, ctx) {
|
|
277
|
-
return ctx.host.mcp.callTool("linear", "list_issues", { query });
|
|
278
|
-
},
|
|
279
|
-
});
|
|
280
|
-
```
|
|
239
|
+
## Call MCP from host code
|
|
281
240
|
|
|
282
|
-
|
|
283
|
-
|
|
241
|
+
A file under `agent/mcp-connections/` is available to the Cursor agent,
|
|
242
|
+
to server tools through `ctx.host.mcp`, and to channel and schedule
|
|
243
|
+
handlers through `args.host.mcp`. Host connections skip the model.
|
|
284
244
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
245
|
+
```ts
|
|
246
|
+
// agent/tools/search_linear.ts
|
|
247
|
+
import { defineTool } from "@cursor/july/tools";
|
|
248
|
+
import { z } from "zod";
|
|
249
|
+
|
|
250
|
+
export default defineTool({
|
|
251
|
+
description: "Search Linear issues.",
|
|
252
|
+
inputSchema: z.object({ query: z.string() }),
|
|
253
|
+
async execute({ query }, ctx) {
|
|
254
|
+
return ctx.host.mcp.callTool("linear", "list_issues", { query });
|
|
255
|
+
},
|
|
256
|
+
});
|
|
257
|
+
```
|
|
298
258
|
|
|
299
|
-
|
|
259
|
+
`host.mcp.names()` lists connection names.
|
|
260
|
+
`listTools(name)` / `callTool(name, tool, args)` call into a named
|
|
261
|
+
connection.
|
|
300
262
|
|
|
301
|
-
|
|
263
|
+
## Related
|
|
302
264
|
|
|
303
265
|
- [Host MCP OAuth](../guides/mcp-oauth.md): `mcp oauth`, Connect, `--store`
|
|
304
266
|
- [Tools](./tools.md): authored tools that wrap MCP connections
|
|
305
267
|
- [Webhooks](../guides/webhooks.md): calling MCP connections from handlers
|
|
268
|
+
- [Peer agents](../guides/agent-to-agent.md): when a specialist is its
|
|
269
|
+
own agent
|
package/docs/reference/evals.md
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Evals"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Define eval cases, drive turns, assert trajectories, and interpret results."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Evals
|
|
6
|
+
# Evals
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Evals run fixed cases against an agent and record whether its turns,
|
|
9
|
+
tools, events, and output meet a contract. Files under the project-root
|
|
10
|
+
`evals/` directory define cases with `@cursor/july/evals`; the runner
|
|
11
|
+
discovers their IDs, executes them, and reports every assertion. See the
|
|
12
|
+
[Evals guide](../evals.md) for the regression workflow.
|
|
11
13
|
|
|
12
|
-
##
|
|
14
|
+
## Eval discovery and case IDs
|
|
13
15
|
|
|
14
16
|
Eval files live under the project-root `evals/` directory and end in
|
|
15
17
|
`.eval.ts` or `.eval.js`. The path under that directory becomes the
|
|
@@ -48,15 +50,15 @@ Those cases are `prs/checkout` and `prs/search` when the file is
|
|
|
48
50
|
`evals/prs.eval.ts`. Case IDs must be unique single path segments.
|
|
49
51
|
|
|
50
52
|
A file can also export an array of `defineEval` calls. The runner names
|
|
51
|
-
them with zero-padded indexes such as `sql/0000`.
|
|
52
|
-
handwritten scenarios
|
|
53
|
+
them with zero-padded indexes such as `sql/0000`. Named `cases` give
|
|
54
|
+
handwritten scenarios stable IDs; arrays fit loaded datasets.
|
|
53
55
|
|
|
54
56
|
`iterations` repeats one datapoint from 1 to 100 times. For
|
|
55
57
|
`iterations: 3`, `weather/nyc` expands to `weather/nyc/1`,
|
|
56
58
|
`weather/nyc/2`, and `weather/nyc/3`; selecting `weather/nyc` runs all
|
|
57
59
|
three.
|
|
58
60
|
|
|
59
|
-
##
|
|
61
|
+
## Eval configuration
|
|
60
62
|
|
|
61
63
|
Every running suite needs `evals/evals.config.ts` with
|
|
62
64
|
`maxConcurrency`:
|
|
@@ -77,38 +79,39 @@ export default defineEvalConfig({
|
|
|
77
79
|
| `timeoutMs` | Per-case timeout; case/file, CLI, then config precedence |
|
|
78
80
|
| `judge` | Default model for `t.judge` |
|
|
79
81
|
| `reporters` | Objects notified as cases and runs complete |
|
|
80
|
-
| `maxPlaygroundRuns` | Number of server-side batches kept in playground history |
|
|
82
|
+
| `maxPlaygroundRuns` | Number of server-side batches kept in playground history; defaults to 20 |
|
|
81
83
|
|
|
82
84
|
A case can override `description`, `tags`, `timeoutMs`, `iterations`,
|
|
83
85
|
`judge`, `reporters`, and `metadata`. Case metadata merges over
|
|
84
86
|
file-level metadata; case reporters add to the file's reporters.
|
|
85
87
|
|
|
86
|
-
##
|
|
88
|
+
## Send turns in a case
|
|
87
89
|
|
|
88
90
|
`await t.send(message, options?)` runs one turn and waits until it
|
|
89
91
|
finishes, fails, or parks for approval. Several sends in one test share
|
|
90
92
|
the session.
|
|
91
93
|
|
|
92
94
|
The returned turn exposes its assistant `message`, `sessionId`,
|
|
93
|
-
`events`, ordered `toolCalls`, `ok`, and
|
|
94
|
-
turn inspect only that turn; assertions on `t` inspect the whole
|
|
95
|
-
|
|
96
|
-
`t.sessionId`, and the timeout
|
|
95
|
+
`events`, ordered `toolCalls`, `ok`, and one-based `index`. Assertions
|
|
96
|
+
on the turn inspect only that turn; assertions on `t` inspect the whole
|
|
97
|
+
case. Run values include `t.reply`, `t.events`, `t.turns`,
|
|
98
|
+
`t.sessionId`, `t.iteration`, `t.iterations`, and the timeout
|
|
99
|
+
`t.signal`.
|
|
97
100
|
|
|
98
101
|
These options apply on the first send because they shape the session:
|
|
99
102
|
|
|
100
103
|
| Option | Contract |
|
|
101
104
|
| --- | --- |
|
|
102
105
|
| `workspaceFiles` | Relative path-to-content map seeded into the session workspace |
|
|
103
|
-
| `workspaceDir` | Absolute
|
|
106
|
+
| `workspaceDir` | Absolute working directory for a new local session |
|
|
104
107
|
| `cloud` | Cloud session options merged over the agent's static cloud config |
|
|
105
108
|
|
|
106
|
-
Use `turn.expectOk()` when later test steps depend on
|
|
107
|
-
succeeding.
|
|
109
|
+
Use `turn.expectOk()` when later test steps depend on the turn
|
|
110
|
+
succeeding. It throws when the turn failed.
|
|
108
111
|
|
|
109
112
|
## Trajectory assertions
|
|
110
113
|
|
|
111
|
-
Assertions record failures
|
|
114
|
+
Assertions record failures without stopping the test, so one case
|
|
112
115
|
reports every violated contract.
|
|
113
116
|
|
|
114
117
|
| Assertion | Checks |
|
|
@@ -231,53 +234,43 @@ export default rows.map(row =>
|
|
|
231
234
|
);
|
|
232
235
|
```
|
|
233
236
|
|
|
234
|
-
Materialize API-backed evidence before running a large suite. Commit
|
|
235
|
-
the exact payload, diff, or metadata revision and seed it with
|
|
236
|
-
`workspaceFiles`.
|
|
237
|
-
|
|
238
237
|
## Reporters and results
|
|
239
238
|
|
|
240
239
|
Built-in reporters include `JUnit({ filePath, suiteName? })` and
|
|
241
240
|
`Artifacts({ dir })`. Custom reporters can expose `onRunStart`,
|
|
242
|
-
`onEvalComplete`, and `onRunComplete`.
|
|
243
|
-
do not change the eval verdict.
|
|
241
|
+
`onEvalComplete`, and `onRunComplete`.
|
|
244
242
|
|
|
245
|
-
JSON output contains run totals
|
|
246
|
-
|
|
247
|
-
calls, metrics, logs, duration, metadata, tags,
|
|
248
|
-
skip
|
|
243
|
+
JSON output contains run totals and one result per case. Results include
|
|
244
|
+
the case ID, verdict, assertions, session ID, inputs, final text, tools,
|
|
245
|
+
tool calls, metrics, logs, duration, metadata, tags, and any error or
|
|
246
|
+
skip reason.
|
|
249
247
|
|
|
250
|
-
##
|
|
248
|
+
## Select cases
|
|
251
249
|
|
|
252
250
|
```bash
|
|
253
251
|
agent-sdk eval --dir . --list
|
|
254
252
|
agent-sdk eval --dir .
|
|
255
253
|
agent-sdk eval --dir . builds/checkout
|
|
256
254
|
agent-sdk eval --dir . --tag smoke
|
|
257
|
-
agent-sdk eval --dir . --verbose
|
|
258
255
|
```
|
|
259
256
|
|
|
260
257
|
ID filters match an exact ID and its descendants. Repeated IDs use OR;
|
|
261
258
|
repeated tags use OR. When both are present, a case must match both
|
|
262
259
|
groups.
|
|
263
260
|
|
|
264
|
-
|
|
265
|
-
|
|
261
|
+
## Inspect run artifacts
|
|
262
|
+
|
|
263
|
+
Default run artifacts go under `evals/<stamp>/` in the project state
|
|
264
|
+
directory and include
|
|
266
265
|
`summary.json`, `results.jsonl`, and `evals/<case-id>.json`.
|
|
267
266
|
`--artifacts <dir>` chooses another destination; `--no-artifacts`
|
|
268
267
|
disables them. This location is independent of `--state-root`.
|
|
269
268
|
|
|
270
|
-
|
|
271
|
-
`CURSOR_API_KEY`, `CURSOR_API_KEY_FILE`,
|
|
272
|
-
`CURSOR_SERVICE_ACCOUNT_KEY`, then `agent-sdk login`. Listing cases
|
|
273
|
-
needs no credential.
|
|
274
|
-
|
|
275
|
-
## Playground and hosted runs
|
|
269
|
+
## Run evals against a server
|
|
276
270
|
|
|
277
|
-
The playground **Evals** view starts batches on its running server
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
deployment.
|
|
271
|
+
The playground **Evals** view starts batches on its running server.
|
|
272
|
+
`--url` targets a named running server, and `--prod --slug <slug>`
|
|
273
|
+
targets a hosted deployment.
|
|
281
274
|
|
|
282
275
|
```bash
|
|
283
276
|
agent-sdk eval --prod --slug vulnerability-scanner --tag smoke
|
|
@@ -285,14 +278,13 @@ agent-sdk eval status <eval-id> --prod --slug vulnerability-scanner
|
|
|
285
278
|
agent-sdk eval cancel <eval-id> --prod --slug vulnerability-scanner
|
|
286
279
|
```
|
|
287
280
|
|
|
288
|
-
Server-side batches use the target
|
|
289
|
-
|
|
290
|
-
|
|
281
|
+
Server-side batches use the target's discovered cases and return an eval
|
|
282
|
+
ID for `status` or `cancel`. Local reporter and concurrency flags don't
|
|
283
|
+
apply to `--url` or `--prod` runs.
|
|
291
284
|
|
|
292
285
|
## Related
|
|
293
286
|
|
|
294
|
-
- [Evals guide](../evals.md)
|
|
295
|
-
- [CLI reference](./cli.md#eval)
|
|
296
|
-
- [Sessions](./sessions.md)
|
|
297
|
-
- [Artifacts](./artifacts.md)
|
|
298
|
-
`taggedArtifact`
|
|
287
|
+
- [Evals guide](../evals.md)
|
|
288
|
+
- [CLI reference](./cli.md#eval)
|
|
289
|
+
- [Sessions](./sessions.md)
|
|
290
|
+
- [Artifacts](./artifacts.md)
|
|
@@ -35,10 +35,10 @@ The extension validates its configuration while the project loads.
|
|
|
35
35
|
Missing or mistyped settings fail `agent-sdk validate` before a turn
|
|
36
36
|
can call the contributed code.
|
|
37
37
|
|
|
38
|
-
Extension instructions are appended to the agent's
|
|
39
|
-
agent still needs its own `agent/instructions.md`.
|
|
38
|
+
Extension instructions are appended to the root agent's instructions.
|
|
39
|
+
The root agent still needs its own `agent/instructions.md`.
|
|
40
40
|
|
|
41
|
-
##
|
|
41
|
+
## Inspect a mount
|
|
42
42
|
|
|
43
43
|
Run discovery after mounting or upgrading an extension:
|
|
44
44
|
|
|
@@ -126,18 +126,14 @@ server. OAuth-backed plugin servers use
|
|
|
126
126
|
[Host MCP OAuth](../guides/mcp-oauth.md); transport and tool-filter
|
|
127
127
|
details live in [MCP connections](./connections.md).
|
|
128
128
|
|
|
129
|
-
##
|
|
129
|
+
## Extension contents
|
|
130
130
|
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
| Ships under the namespace | Ignored |
|
|
132
|
+
| --- | --- |
|
|
133
|
+
| Instructions, tools, skills, MCP and host connections | `agent.ts`, storage, OpenTelemetry |
|
|
134
|
+
| Hooks, channels, schedules, and subagents | Playground code, custom sandbox backends |
|
|
135
|
+
| Artifact kinds and workspace seed files | Nested extensions |
|
|
133
136
|
|
|
134
|
-
- Instructions, tools, skills, MCP and host connections
|
|
135
|
-
- Hooks, channels, schedules, and subagents
|
|
136
|
-
- Artifact kinds and local workspace seed files
|
|
137
|
-
|
|
138
|
-
Agent-wide configuration does not compose through a mount.
|
|
139
|
-
`agent.ts`, storage, OpenTelemetry, playground code, custom sandbox
|
|
140
|
-
backends, and nested extensions are ignored in an extension package;
|
|
141
137
|
`agent-sdk validate` reports unsupported paths.
|
|
142
138
|
|
|
143
139
|
## Build an extension
|