Skip to content

Commit d557585

Browse files
committed
docs: clarify details around MCP
1 parent d6c034d commit d557585

File tree

4 files changed

+138
-27
lines changed

4 files changed

+138
-27
lines changed

docs/manifest.json

Lines changed: 90 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
2-
"versions": ["main"],
2+
"versions": [
3+
"main"
4+
],
35
"routes": [
46
{
57
"title": "About",
@@ -186,7 +188,9 @@
186188
"description": "Use Coder Desktop to access your workspace like it's a local machine",
187189
"path": "./user-guides/desktop/index.md",
188190
"icon_path": "./images/icons/computer-code.svg",
189-
"state": ["early access"]
191+
"state": [
192+
"early access"
193+
]
190194
},
191195
{
192196
"title": "Workspace Management",
@@ -236,7 +240,10 @@
236240
"title": "Appearance",
237241
"description": "Learn how to configure the appearance of Coder",
238242
"path": "./admin/setup/appearance.md",
239-
"state": ["enterprise", "premium"]
243+
"state": [
244+
"enterprise",
245+
"premium"
246+
]
240247
},
241248
{
242249
"title": "Telemetry",
@@ -317,22 +324,33 @@
317324
{
318325
"title": "Groups \u0026 Roles",
319326
"path": "./admin/users/groups-roles.md",
320-
"state": ["enterprise", "premium"]
327+
"state": [
328+
"enterprise",
329+
"premium"
330+
]
321331
},
322332
{
323333
"title": "IdP Sync",
324334
"path": "./admin/users/idp-sync.md",
325-
"state": ["enterprise", "premium"]
335+
"state": [
336+
"enterprise",
337+
"premium"
338+
]
326339
},
327340
{
328341
"title": "Organizations",
329342
"path": "./admin/users/organizations.md",
330-
"state": ["premium"]
343+
"state": [
344+
"premium"
345+
]
331346
},
332347
{
333348
"title": "Quotas",
334349
"path": "./admin/users/quotas.md",
335-
"state": ["enterprise", "premium"]
350+
"state": [
351+
"enterprise",
352+
"premium"
353+
]
336354
},
337355
{
338356
"title": "Sessions \u0026 API Tokens",
@@ -474,7 +492,10 @@
474492
"title": "Process Logging",
475493
"description": "Log workspace processes",
476494
"path": "./admin/templates/extending-templates/process-logging.md",
477-
"state": ["enterprise", "premium"]
495+
"state": [
496+
"enterprise",
497+
"premium"
498+
]
478499
}
479500
]
480501
},
@@ -487,7 +508,10 @@
487508
"title": "Permissions \u0026 Policies",
488509
"description": "Learn how to create templates with Terraform",
489510
"path": "./admin/templates/template-permissions.md",
490-
"state": ["enterprise", "premium"]
511+
"state": [
512+
"enterprise",
513+
"premium"
514+
]
491515
},
492516
{
493517
"title": "Troubleshooting Templates",
@@ -501,13 +525,19 @@
501525
"description": "Learn how to run external provisioners with Coder",
502526
"path": "./admin/provisioners/index.md",
503527
"icon_path": "./images/icons/key.svg",
504-
"state": ["enterprise", "premium"],
528+
"state": [
529+
"enterprise",
530+
"premium"
531+
],
505532
"children": [
506533
{
507534
"title": "Manage Provisioner Jobs",
508535
"description": "Learn how to run external provisioners with Coder",
509536
"path": "./admin/provisioners/manage-provisioner-jobs.md",
510-
"state": ["enterprise", "premium"]
537+
"state": [
538+
"enterprise",
539+
"premium"
540+
]
511541
}
512542
]
513543
},
@@ -585,13 +615,19 @@
585615
"title": "Workspace Proxies",
586616
"description": "Run geo distributed workspace proxies",
587617
"path": "./admin/networking/workspace-proxies.md",
588-
"state": ["enterprise", "premium"]
618+
"state": [
619+
"enterprise",
620+
"premium"
621+
]
589622
},
590623
{
591624
"title": "High Availability",
592625
"description": "Learn how to configure Coder for High Availability",
593626
"path": "./admin/networking/high-availability.md",
594-
"state": ["enterprise", "premium"]
627+
"state": [
628+
"enterprise",
629+
"premium"
630+
]
595631
},
596632
{
597633
"title": "Troubleshooting",
@@ -650,7 +686,10 @@
650686
"title": "Audit Logs",
651687
"description": "Audit actions taken inside Coder",
652688
"path": "./admin/security/audit-logs.md",
653-
"state": ["enterprise", "premium"]
689+
"state": [
690+
"enterprise",
691+
"premium"
692+
]
654693
},
655694
{
656695
"title": "Secrets",
@@ -661,7 +700,10 @@
661700
"title": "Database Encryption",
662701
"description": "Encrypt the database to prevent unauthorized access",
663702
"path": "./admin/security/database-encryption.md",
664-
"state": ["enterprise", "premium"]
703+
"state": [
704+
"enterprise",
705+
"premium"
706+
]
665707
}
666708
]
667709
},
@@ -720,7 +762,9 @@
720762
"title": "Run AI Coding Agents with Coder",
721763
"description": "Learn how to run and secure agents in Coder",
722764
"path": "./tutorials/ai-agents/README.md",
723-
"state": ["early access"],
765+
"state": [
766+
"early access"
767+
],
724768
"children": [
725769
{
726770
"title": "Learn about coding agents",
@@ -731,42 +775,65 @@
731775
"title": "Create a Coder template for agents",
732776
"description": "Create a purpose-built template for your AI agents",
733777
"path": "./tutorials/ai-agents/create-template.md",
734-
"state": ["early access"]
778+
"state": [
779+
"early access"
780+
]
735781
},
736782
{
737783
"title": "Integrate with your issue tracker",
738784
"description": "Assign tickets to AI agents and interact via code reviews",
739785
"path": "./tutorials/ai-agents/issue-tracker.md",
740-
"state": ["early access"]
786+
"state": [
787+
"early access"
788+
]
741789
},
742790
{
743791
"title": "Best practices \u0026 adding tools via MCP",
744792
"description": "Improve results by adding tools to your agents",
745793
"path": "./tutorials/ai-agents/best-practices.md",
746-
"state": ["early access"]
794+
"state": [
795+
"early access"
796+
]
747797
},
748798
{
749799
"title": "Supervise agents via Coder UI",
750800
"description": "Interact with agents via the Coder UI",
751801
"path": "./tutorials/ai-agents/coder-dashboard.md",
752-
"state": ["early access"]
802+
"state": [
803+
"early access"
804+
]
753805
},
754806
{
755807
"title": "Supervise agents via the IDE",
756808
"description": "Interact with agents via VS Code or Cursor",
757809
"path": "./tutorials/ai-agents/ide-integration.md",
758-
"state": ["early access"]
810+
"state": [
811+
"early access"
812+
]
759813
},
760814
{
761815
"title": "Programmatically manage agents",
762816
"description": "Manage agents via MCP, the Coder CLI, and/or REST API",
763817
"path": "./tutorials/ai-agents/headless.md",
764-
"state": ["early access"]
818+
"state": [
819+
"early access"
820+
]
765821
},
766822
{
767823
"title": "Securing agents in Coder",
768824
"description": "Learn how to secure agents with boundaries",
769-
"path": "./tutorials/ai-agents/securing.md"
825+
"path": "./tutorials/ai-agents/securing.md",
826+
"state": [
827+
"early access"
828+
]
829+
},
830+
{
831+
"title": "Custom agents",
832+
"description": "Learn how to use custom agents with Coder",
833+
"path": "./tutorials/ai-agents/custom-agents.md",
834+
"state": [
835+
"early access"
836+
]
770837
}
771838
]
772839
},

docs/tutorials/ai-agents/create-template.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ Follow the instructions in the Coder Registry to install the module. Be sure to
4141
enable the `experiment_use_screen` and `experiment_report_tasks` variables to
4242
report status back to the Coder control plane.
4343

44-
> Alternatively, you can report status from a custom agent back to the Coder
45-
> control plane via our MCP server. For more information,
44+
> Alternatively, you can [report status from a custom agent]() back to the Coder
45+
> control plane via MCP (`coder exp mcp server`). For more information,
4646
> [join our Discord](https://discord.gg/coder) or
4747
> [contact us](https://coder.com/contact).
4848
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Custom Agents
2+
3+
> [!NOTE]
4+
>
5+
> This functionality is in early access and subject to change. Do not run in
6+
> production as it is unstable. Instead, deploy these changes into a demo or
7+
> staging environment.
8+
>
9+
> Join our [Discord channel](https://discord.gg/coder) or
10+
> [contact us](https://coder.com/contact) to get help or share feedback.
11+
12+
Custom agents beyond the ones listed in the [Coder registry](https://registry.coder.com/modules?tag=agent) can be used with Coder.
13+
14+
## Prerequisites
15+
16+
- A Coder deployment with v2.21 or later
17+
- A [Coder workspace / template](./create-template.md)
18+
- A custom agent that supports Model Context Protocol (MCP)
19+
20+
## Getting Started
21+
22+
Coder uses the [MCP protocol](https://modelcontextprotocol.io/introduction) to report activity back to the Coder control plane. From there, activity is displayed in the Coder dashboard.
23+
24+
First, your template will need a [coder_app](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/app) for the agent. This can be a web app or command run in the terminal and ideally gives the user a UI to interact with or view more details about the agent.
25+
26+
From there, the agent can run the MCP server with the `coder exp mcp server` command. You will need to set the `CODER_MCP_APP_STATUS_SLUG` environment variable to match the slug in the coder_app resource.
27+
28+
## Example
29+
30+
Inside a Coder workspace, run the following commands:
31+
32+
```sh
33+
coder login # be sure to be authenticated with the Coder CLI
34+
export CODER_MCP_APP_STATUS_SLUG=my-agent # needs to be the same as the slug in the coder_app resource
35+
36+
# Use your own agent's logic and syntax here:
37+
any-custom-agent configure-mcp --name "coder" --command "coder exp mcp server"
38+
```
39+
40+
This will start the MCP server and report activity back to the Coder control plane on behalf of the coder_app resource.
41+
42+
> See the [Goose module](https://github.com/coder/modules/blob/main/goose/main.tf) source code for a real world example.

docs/tutorials/ai-agents/headless.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,12 @@ The Coder CLI has options to automatically configure MCP servers for you. On
3535
your local machine, run the following command:
3636

3737
```sh
38-
coder mcp claude-desktop # Configure Claude Desktop to interact with Coder
39-
coder mcp cursor # Configure Cursor to interact with Coder
38+
coder exp mcp configure claude-desktop # Configure Claude Desktop to interact with Coder
39+
coder exp mcp configure cursor # Configure Cursor to interact with Coder
4040
```
4141

42+
> MCP is also used for various agents to report activity back to Coder. Learn more about this in [configuring templates](./create-template.md).
43+
4244
## Coder CLI
4345

4446
Workspaces can be created, started, and stopped via the Coder CLI. See the

0 commit comments

Comments
 (0)