@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,16 +1,15 @@
|
|
|
1
|
-
# MCP
|
|
1
|
+
# MCP connections
|
|
2
2
|
|
|
3
|
-
An MCP connection gives the agent tools from an MCP server.
|
|
4
|
-
server under `agent/mcp-connections
|
|
5
|
-
name
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
An MCP connection gives the agent tools from an MCP server. Define one
|
|
4
|
+
file per server under `agent/mcp-connections/`; the filename becomes the
|
|
5
|
+
server name. Default-export `defineConnection` from
|
|
6
|
+
`@cursor/july/connections`. The transport is remote HTTP, local stdio,
|
|
7
|
+
the signed-in Cursor account's connectors, or a peer agent on the same
|
|
8
|
+
host.
|
|
9
9
|
|
|
10
|
-
Put a server in `agent/host-connections/` when host tools should
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
those files.
|
|
10
|
+
Put a server in `agent/host-connections/` when only host tools should
|
|
11
|
+
call it. Host connections use the same `defineConnection` shape and
|
|
12
|
+
support `agent-sdk mcp oauth`; the model and playground don't see them.
|
|
14
13
|
|
|
15
14
|
## Remote MCP server
|
|
16
15
|
|
|
@@ -32,8 +31,7 @@ Tokens come from env vars. Never hardcode them in the file.
|
|
|
32
31
|
For servers that speak OAuth, set `oauth: true` and authorize with the
|
|
33
32
|
CLI or mid-run Connect. Tokens live in `mcp-auth.json` under the CLI
|
|
34
33
|
config directory. `--store` copies them onto the deployment as
|
|
35
|
-
`MCP_OAUTH_<NAME>_*` secrets.
|
|
36
|
-
process retry.
|
|
34
|
+
`MCP_OAUTH_<NAME>_*` secrets.
|
|
37
35
|
|
|
38
36
|
```ts
|
|
39
37
|
export default defineConnection({
|
|
@@ -45,24 +43,17 @@ export default defineConnection({
|
|
|
45
43
|
```bash
|
|
46
44
|
agent-sdk mcp oauth inventory # browser PKCE → local mcp-auth.json
|
|
47
45
|
agent-sdk mcp oauth inventory --store # also upsert deployment secrets
|
|
48
|
-
# Hosted Connect retries this process. Self-hosted stays file-only.
|
|
49
46
|
```
|
|
50
47
|
|
|
51
48
|
Full walkthrough: [Host MCP OAuth](/docs/guides/mcp-oauth.md). Companion
|
|
52
49
|
skill: [`skills/mcp-auth/SKILL.md`](https://github.com/cursor/cursor/blob/main/packages/agent-serve/skills/mcp-auth/SKILL.md).
|
|
53
50
|
|
|
54
|
-
|
|
55
|
-
already linked in the Cursor dashboard. Omit `servers` (or pass `"*"`)
|
|
56
|
-
to forward every connected connector. If the model should call those
|
|
57
|
-
tools by name on local turns, set `advertiseTools: true`.
|
|
51
|
+
## Per-session auth
|
|
58
52
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
declare an `auth` callback instead of static headers. It runs host-side
|
|
64
|
-
at turn-build time with the session's `SessionInfo` and returns headers
|
|
65
|
-
merged over the static ones:
|
|
53
|
+
For http/sse connections whose credential depends on who the session is
|
|
54
|
+
for, declare an `auth` callback instead of static headers. It runs
|
|
55
|
+
host-side with the session's `SessionInfo` and returns headers merged
|
|
56
|
+
over the static ones:
|
|
66
57
|
|
|
67
58
|
```ts
|
|
68
59
|
export default defineConnection({
|
|
@@ -70,39 +61,31 @@ export default defineConnection({
|
|
|
70
61
|
auth: async (session) => ({
|
|
71
62
|
headers: { Authorization: `Bearer ${await grantFor(session)}` },
|
|
72
63
|
}),
|
|
73
|
-
advertiseTools: true,
|
|
64
|
+
advertiseTools: true,
|
|
74
65
|
});
|
|
75
66
|
```
|
|
76
67
|
|
|
77
|
-
The
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
identity. Local runtime only; cloud turns are refused. `host.mcp` calls
|
|
83
|
-
from server tools keep the static headers only. Not combinable with
|
|
84
|
-
`oauth: true`; the host OAuth provider owns the Authorization header.
|
|
68
|
+
The identity always comes from the session itself, never from a tenant
|
|
69
|
+
parameter the model could invent. A callback that throws fails the
|
|
70
|
+
turn; a cloud turn with `auth` is refused instead of running without
|
|
71
|
+
that identity. `host.mcp` calls from server tools keep the static
|
|
72
|
+
headers only. You can't combine `auth` with `oauth: true`.
|
|
85
73
|
|
|
86
74
|
Derive the identity from durable session facts: `session.auth`,
|
|
87
|
-
`session.id`, or your channel's own session state. Do
|
|
88
|
-
`session.continuationKey
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
## Advertise a connection's tools by name (`advertiseTools`) {#advertise-tools}
|
|
102
|
-
|
|
103
|
-
Set `advertiseTools: true` when the model should call an MCP server's tools
|
|
104
|
-
by name. The Agent SDK preserves each tool's name, description, input and
|
|
105
|
-
output schemas, and MCP annotations.
|
|
75
|
+
`session.id`, or your channel's own session state. Do not key it off
|
|
76
|
+
`session.continuationKey`. The HTTP channel rotates that key after every
|
|
77
|
+
accepted follow-up, so a tenant mapping keyed on it breaks
|
|
78
|
+
mid-conversation.
|
|
79
|
+
|
|
80
|
+
`auth` works attached or advertised. Advertise the auth connection
|
|
81
|
+
instead of attaching it next to a stateful stdio server.
|
|
82
|
+
|
|
83
|
+
## Advertise tools {#advertise-tools}
|
|
84
|
+
|
|
85
|
+
Set `advertiseTools: true` when the model should call an MCP server's
|
|
86
|
+
tools by name. The Agent SDK preserves each tool's description, input
|
|
87
|
+
and output schemas, and MCP annotations. Exposed names normalize invalid
|
|
88
|
+
characters and add numeric suffixes to avoid collisions.
|
|
106
89
|
|
|
107
90
|
```ts
|
|
108
91
|
export default defineConnection({
|
|
@@ -112,20 +95,22 @@ export default defineConnection({
|
|
|
112
95
|
});
|
|
113
96
|
```
|
|
114
97
|
|
|
115
|
-
A listing
|
|
116
|
-
|
|
117
|
-
|
|
98
|
+
A listing or authentication failure fails the turn by default. Set
|
|
99
|
+
`optional: true` to omit an unavailable connection instead. Advertised
|
|
100
|
+
tools follow the same runtime support as server tools, and [direct tool
|
|
101
|
+
calls](/docs/reference/tools.md#call-a-tool-without-a-model-turn) use the same names.
|
|
118
102
|
|
|
119
|
-
In a dry-run session, MCP tools marked read-only run normally. Tools
|
|
120
|
-
as writes are stubbed. Tools without effect annotations are
|
|
103
|
+
In a dry-run session, MCP tools marked read-only run normally. Tools
|
|
104
|
+
marked as writes are stubbed. Tools without effect annotations are
|
|
105
|
+
unavailable.
|
|
121
106
|
|
|
122
|
-
##
|
|
107
|
+
## Filter connection tools
|
|
123
108
|
|
|
124
109
|
Use `tools` the same way you allowlist harness tools on the agent. When
|
|
125
110
|
set, the connection serves only those names. Use `disallowedTools` to
|
|
126
|
-
drop names instead. The two combine as deny-wins
|
|
127
|
-
|
|
128
|
-
|
|
111
|
+
drop names instead. The two combine as deny-wins. The model and
|
|
112
|
+
`host.mcp` only see what remains. A model-visible filter requires
|
|
113
|
+
`advertiseTools: true`.
|
|
129
114
|
|
|
130
115
|
```ts
|
|
131
116
|
export default defineConnection({
|
|
@@ -133,7 +118,9 @@ export default defineConnection({
|
|
|
133
118
|
advertiseTools: true,
|
|
134
119
|
tools: ["search_skus", "get_stock"],
|
|
135
120
|
});
|
|
121
|
+
```
|
|
136
122
|
|
|
123
|
+
```ts
|
|
137
124
|
export default defineConnection({
|
|
138
125
|
url: "https://mcp.example.com/inventory",
|
|
139
126
|
advertiseTools: true,
|
|
@@ -142,9 +129,9 @@ export default defineConnection({
|
|
|
142
129
|
```
|
|
143
130
|
|
|
144
131
|
Names are the server's `tools/list` names. Unknown names are omitted. A
|
|
145
|
-
filter that matches nothing on the server fails the turn
|
|
146
|
-
`effects: "read"` to keep only the listed
|
|
147
|
-
reads.
|
|
132
|
+
filter that matches nothing on the server fails the turn unless
|
|
133
|
+
`optional: true`. Combine with `effects: "read"` to keep only the listed
|
|
134
|
+
tools the server classifies as reads.
|
|
148
135
|
|
|
149
136
|
A list of names is an allowlist. An object of handlers authors TypeScript
|
|
150
137
|
tools. On `host-connections/`, a name list restricts `host.mcp` without
|
|
@@ -162,12 +149,8 @@ export default defineConnection({
|
|
|
162
149
|
});
|
|
163
150
|
```
|
|
164
151
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
To run TypeScript in the agent environment (including a repo-less cloud
|
|
169
|
-
VM), author the tools on the connection instead. The Agent SDK packages
|
|
170
|
-
them as stdio MCP. You write `execute`. The Agent SDK speaks the protocol.
|
|
152
|
+
To run TypeScript in the agent environment, including a repo-less cloud
|
|
153
|
+
VM, author the tools on the connection instead. You write `execute`:
|
|
171
154
|
|
|
172
155
|
```ts
|
|
173
156
|
export default defineConnection({
|
|
@@ -185,12 +168,12 @@ export default defineConnection({
|
|
|
185
168
|
## Cursor account MCP connection
|
|
186
169
|
|
|
187
170
|
`{ cursorAccount: true }` forwards the MCP connectors the signed-in
|
|
188
|
-
Cursor account already authorized (dashboard → MCP)
|
|
189
|
-
|
|
171
|
+
Cursor account already authorized (dashboard → MCP), such as Linear,
|
|
172
|
+
Notion, and Slack. You don't configure tokens. Every tool runs on the
|
|
190
173
|
Cursor backend with the account's stored OAuth credentials, so raw
|
|
191
|
-
tokens never reach the
|
|
174
|
+
tokens never reach the serving host, session workspaces, or traces.
|
|
192
175
|
|
|
193
|
-
By default the agent gets
|
|
176
|
+
By default the agent gets every connected HTTP/SSE connector on the
|
|
194
177
|
account. Pass `servers: "*"` (or `["*"]`) for the same all-connectors
|
|
195
178
|
behavior in an explicit form. Pass a name list when you want a smaller
|
|
196
179
|
set.
|
|
@@ -201,12 +184,9 @@ export default defineConnection({
|
|
|
201
184
|
cursorAccount: true,
|
|
202
185
|
advertiseTools: true,
|
|
203
186
|
});
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
servers: "*",
|
|
208
|
-
advertiseTools: true,
|
|
209
|
-
});
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
```ts
|
|
210
190
|
// only Linear:
|
|
211
191
|
export default defineConnection({
|
|
212
192
|
cursorAccount: true,
|
|
@@ -217,17 +197,15 @@ export default defineConnection({
|
|
|
217
197
|
|
|
218
198
|
Name the file `account.ts`. `cursor.ts` collides with the IDE `cursor`
|
|
219
199
|
MCP namespace. `advertiseTools: true` puts connector tools on local
|
|
220
|
-
turns by name.
|
|
200
|
+
turns by name.
|
|
221
201
|
|
|
222
202
|
The host must be signed in (`agent-sdk login`, `CURSOR_API_KEY`, or
|
|
223
|
-
`CURSOR_SERVICE_ACCOUNT_KEY`).
|
|
224
|
-
`serve` fails fast at startup otherwise, and logs each connector's live
|
|
225
|
-
status (`connected`, `needsAuth`, `error`) as it starts.
|
|
203
|
+
`CURSOR_SERVICE_ACCOUNT_KEY`). `serve` fails at startup otherwise.
|
|
226
204
|
|
|
227
205
|
Filtered account connections work on managed cloud deployments. A
|
|
228
|
-
self-hosted cloud agent with a concrete `servers` list needs
|
|
229
|
-
Serve fails instead of ignoring the filter. Use a
|
|
230
|
-
for stdio servers.
|
|
206
|
+
self-hosted cloud agent with a concrete `servers` list needs
|
|
207
|
+
`--public-url`. Serve fails instead of ignoring the filter. Use a
|
|
208
|
+
`{ command }` connection for stdio servers.
|
|
231
209
|
|
|
232
210
|
> [!CAUTION]
|
|
233
211
|
> Whoever can talk to the agent can drive these connectors, because they
|
|
@@ -237,11 +215,11 @@ for stdio servers.
|
|
|
237
215
|
> for example an SSO proxy or the hosted alias token). Prefer
|
|
238
216
|
> `--bearer-token` on shared hosts.
|
|
239
217
|
|
|
240
|
-
## Peer MCP connection
|
|
218
|
+
## Peer MCP connection {#peer-mcp-connection}
|
|
241
219
|
|
|
242
220
|
`{ agent: "<slug>" }` addresses another agent mounted on the same serve
|
|
243
|
-
host. The model gets the peer's `ask` and `check`
|
|
244
|
-
tools and can delegate work to it:
|
|
221
|
+
host. The model gets the peer's `ask` and `check` tools, plus
|
|
222
|
+
`call_tool` when the peer has server tools, and can delegate work to it:
|
|
245
223
|
|
|
246
224
|
```ts
|
|
247
225
|
export default defineConnection({
|
|
@@ -253,48 +231,34 @@ export default defineConnection({
|
|
|
253
231
|
Unknown slugs and self-references fail `serve` at startup. Walkthrough:
|
|
254
232
|
[Peer agents](/docs/guides/agent-to-agent.md#delegate-a-question-to-a-specialist).
|
|
255
233
|
|
|
256
|
-
##
|
|
257
|
-
|
|
258
|
-
A file under `agent/mcp-connections/` serves three consumers. Host
|
|
259
|
-
connections skip the first one.
|
|
260
|
-
|
|
261
|
-
1. **Cursor agent:** Attached connections ride SDK `mcpServers` behind
|
|
262
|
-
harness MCP meta-tools. Set `advertiseTools: true` so local turns see
|
|
263
|
-
named tools.
|
|
264
|
-
2. **Server tools:** Deterministic host code composes MCP calls
|
|
265
|
-
through `ctx.host.mcp`:
|
|
266
|
-
|
|
267
|
-
```ts
|
|
268
|
-
export default defineTool({
|
|
269
|
-
description: "Search Linear issues.",
|
|
270
|
-
inputSchema: z.object({ query: z.string() }),
|
|
271
|
-
async execute({ query }, ctx) {
|
|
272
|
-
return ctx.host.mcp.callTool("linear", "list_issues", { query });
|
|
273
|
-
},
|
|
274
|
-
});
|
|
275
|
-
```
|
|
234
|
+
## Call MCP from host code
|
|
276
235
|
|
|
277
|
-
|
|
278
|
-
|
|
236
|
+
A file under `agent/mcp-connections/` is available to the Cursor agent,
|
|
237
|
+
to server tools through `ctx.host.mcp`, and to channel and schedule
|
|
238
|
+
handlers through `args.host.mcp`. Host connections skip the model.
|
|
279
239
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
240
|
+
```ts
|
|
241
|
+
// agent/tools/search_linear.ts
|
|
242
|
+
import { defineTool } from "@cursor/july/tools";
|
|
243
|
+
import { z } from "zod";
|
|
244
|
+
|
|
245
|
+
export default defineTool({
|
|
246
|
+
description: "Search Linear issues.",
|
|
247
|
+
inputSchema: z.object({ query: z.string() }),
|
|
248
|
+
async execute({ query }, ctx) {
|
|
249
|
+
return ctx.host.mcp.callTool("linear", "list_issues", { query });
|
|
250
|
+
},
|
|
251
|
+
});
|
|
252
|
+
```
|
|
293
253
|
|
|
294
|
-
|
|
254
|
+
`host.mcp.names()` lists connection names.
|
|
255
|
+
`listTools(name)` / `callTool(name, tool, args)` call into a named
|
|
256
|
+
connection.
|
|
295
257
|
|
|
296
|
-
|
|
258
|
+
## Related
|
|
297
259
|
|
|
298
260
|
- [Host MCP OAuth](/docs/guides/mcp-oauth.md): `mcp oauth`, Connect, `--store`
|
|
299
261
|
- [Tools](/docs/reference/tools.md): authored tools that wrap MCP connections
|
|
300
262
|
- [Webhooks](/docs/guides/webhooks.md): calling MCP connections from handlers
|
|
263
|
+
- [Peer agents](/docs/guides/agent-to-agent.md): when a specialist is its
|
|
264
|
+
own agent
|