-
Notifications
You must be signed in to change notification settings - Fork 928
feat: implement MCP HTTP server endpoint with authentication #18670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: thomask33/06-30-feat_oauth2_remove_unique_constraint_on_app_names_for_rfc_7591_compliance
Are you sure you want to change the base?
Conversation
4efb07a
to
8a3f7a9
Compare
4d966b2
to
4ffc58e
Compare
8a3f7a9
to
e7d56c2
Compare
4ffc58e
to
23804bb
Compare
e7d56c2
to
10701da
Compare
23804bb
to
06d9b57
Compare
10701da
to
a2607a8
Compare
06d9b57
to
cee654a
Compare
a2607a8
to
990f706
Compare
8cb9d74
to
3e540ef
Compare
990f706
to
95c0496
Compare
95c0496
to
b17d907
Compare
3e540ef
to
0447dc7
Compare
674964b
to
de6e6b1
Compare
858b090
to
24ae9f0
Compare
de6e6b1
to
df6f22c
Compare
198bc92
to
ffc544b
Compare
df6f22c
to
60161d7
Compare
ffc544b
to
d3aaec0
Compare
16a48ef
to
06236c5
Compare
d3aaec0
to
968207c
Compare
@@ -11642,7 +11642,73 @@ const docTemplate = `{ | |||
} | |||
}, | |||
"codersdk.CreateTestAuditLogRequest": { | |||
"type": "object" | |||
"type": "object", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hhmm, curious how this is related to your changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no idea, CI was complaining that make gen
contained unstaged changes, and this was what it generated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be good to figure out why, but non-blocking.
@@ -972,6 +972,10 @@ func New(options *Options) *API { | |||
r.Route("/aitasks", func(r chi.Router) { | |||
r.Get("/prompts", api.aiTasksPrompts) | |||
}) | |||
r.Route("/mcp", func(r chi.Router) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to hide this behind a flag or experiment perhaps?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I added an experiment up the stack in: #18712
@@ -972,6 +972,10 @@ func New(options *Options) *API { | |||
r.Route("/aitasks", func(r chi.Router) { | |||
r.Get("/prompts", api.aiTasksPrompts) | |||
}) | |||
r.Route("/mcp", func(r chi.Router) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
968207c
to
dea734b
Compare
06236c5
to
991aeb7
Compare
991aeb7
to
7a4b271
Compare
54086ed
to
f8aa2de
Compare
7a4b271
to
5496826
Compare
f8aa2de
to
9851f81
Compare
3df9b80
to
e32fba8
Compare
9851f81
to
43ac8a0
Compare
- Add MCP HTTP server with streamable transport support - Integrate with existing toolsdk for Coder workspace operations - Add comprehensive E2E tests with OAuth2 bearer token support - Register MCP endpoint at /api/experimental/mcp/http with authentication - Support RFC 6750 Bearer token authentication for MCP clients Change-Id: Ib9024569ae452729908797c42155006aa04330af Signed-off-by: Thomas Kosiewski <[email protected]>
e32fba8
to
d74cf24
Compare
const ( | ||
ToolNameReportTask = "coder_report_task" | ||
ToolNameGetWorkspace = "coder_get_workspace" | ||
ToolNameCreateWorkspace = "coder_create_workspace" | ||
ToolNameListWorkspaces = "coder_list_workspaces" | ||
ToolNameListTemplates = "coder_list_templates" | ||
ToolNameListTemplateVersionParams = "coder_template_version_parameters" | ||
ToolNameGetAuthenticatedUser = "coder_get_authenticated_user" | ||
ToolNameCreateWorkspaceBuild = "coder_create_workspace_build" | ||
ToolNameCreateTemplateVersion = "coder_create_template_version" | ||
ToolNameGetWorkspaceAgentLogs = "coder_get_workspace_agent_logs" | ||
ToolNameGetWorkspaceBuildLogs = "coder_get_workspace_build_logs" | ||
ToolNameGetTemplateVersionLogs = "coder_get_template_version_logs" | ||
ToolNameUpdateTemplateActiveVersion = "coder_update_template_active_version" | ||
ToolNameUploadTarFile = "coder_upload_tar_file" | ||
ToolNameCreateTemplate = "coder_create_template" | ||
ToolNameDeleteTemplate = "coder_delete_template" | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Add MCP HTTP server with streamable transport support
Change-Id: Ib9024569ae452729908797c42155006aa04330af
Signed-off-by: Thomas Kosiewski [email protected]