Skip to content

Commit 364aa2f

Browse files
authored
feat: register Google Workspace MCP Server in extension (#23)
1 parent a54db33 commit 364aa2f

File tree

5 files changed

+45
-4
lines changed

5 files changed

+45
-4
lines changed

.changeset/whole-comics-switch.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"google-workspace-developer-tools": minor
3+
---
4+
5+
Register Google Workspace Developer MCP Server in extension.

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,10 @@
3636
"prettier --write"
3737
]
3838
},
39-
"packageManager": "[email protected]+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34"
40-
}
39+
"packageManager": "[email protected]+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34",
40+
"pnpm": {
41+
"overrides": {
42+
"@types/vscode": "^1.82.0"
43+
}
44+
}
45+
}

packages/vscode-extension/package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@
4040
"type": "module",
4141
"main": "./out/extension.cjs",
4242
"contributes": {
43-
"commands": []
43+
"mcpServerDefinitionProviders": [
44+
{
45+
"id": "google-workspace-developer",
46+
"label": "Google Workspace Developer"
47+
}
48+
]
4449
},
4550
"activationEvents": [
4651
"onStartupFinished"

packages/vscode-extension/src/extension.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,29 @@ import * as vscode from "vscode";
1818
import { SCOPES, ScopeClassification, getScopeMarkdown } from "./scopes.js";
1919

2020
export function activate(context: vscode.ExtensionContext) {
21+
if (vscode.lm.registerMcpServerDefinitionProvider) {
22+
context.subscriptions.push(
23+
vscode.lm?.registerMcpServerDefinitionProvider(
24+
"google-workspace-developer",
25+
{
26+
provideMcpServerDefinitions: async () => {
27+
return [
28+
new vscode.McpHttpServerDefinition(
29+
"google-workspace-developer",
30+
vscode.Uri.parse("https://workspace-developer.goog/mcp"),
31+
),
32+
];
33+
},
34+
resolveMcpServerDefinition: async (
35+
server: vscode.McpServerDefinition,
36+
) => {
37+
return server;
38+
},
39+
},
40+
),
41+
);
42+
}
43+
2144
const scopeHoverProvider = vscode.languages.registerHoverProvider(
2245
{ scheme: "file" },
2346
{

pnpm-lock.yaml

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)