aboutsummaryrefslogtreecommitdiff
path: root/mcp
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-16 11:59:40 -0500
committerCraig Jennings <c@cjennings.net>2026-05-16 11:59:40 -0500
commit9c5aff1febe3eaf44dfe59bc3e3b70a35cde4c8a (patch)
tree8deaa83b8bc5b955ce53fe07552e19f53c6478c6 /mcp
parent70af2a019e7592089d33a0dde4a1af699175f7ef (diff)
downloadrulesets-9c5aff1febe3eaf44dfe59bc3e3b70a35cde4c8a.tar.gz
rulesets-9c5aff1febe3eaf44dfe59bc3e3b70a35cde4c8a.zip
feat(mcp): add google-keep server
Adds google-keep to mcp/servers.json using feuerdev/keep-mcp via uvx; env-var auth (GOOGLE_KEEP_EMAIL, GOOGLE_KEEP_MASTER_TOKEN) stored in mcp/secrets.env.gpg. Master token retrieved through Google's EmbeddedSetup browser flow plus gpsoauth.exchange_token, since password-based gpsoauth.perform_master_login is restricted now. Invocation gotcha: keep-mcp declares an =mcp= entry-point script, but its dependency on the official =mcp= SDK ships a same-named script that wins resolution under uvx. The =uvx --from keep-mcp mcp= form from the README launches the SDK CLI instead of keep-mcp's server. Workaround: =uvx --from keep-mcp python -m server.cli= invokes keep-mcp's actual entry point directly, bypassing the collision.
Diffstat (limited to 'mcp')
-rw-r--r--mcp/secrets.env.gpgbin999 -> 1268 bytes
-rw-r--r--mcp/servers.json9
2 files changed, 9 insertions, 0 deletions
diff --git a/mcp/secrets.env.gpg b/mcp/secrets.env.gpg
index 2041539..88f809f 100644
--- a/mcp/secrets.env.gpg
+++ b/mcp/secrets.env.gpg
Binary files differ
diff --git a/mcp/servers.json b/mcp/servers.json
index 84050cb..f4a5b43 100644
--- a/mcp/servers.json
+++ b/mcp/servers.json
@@ -50,5 +50,14 @@
"slack-deepsat": {
"type": "sse",
"url": "http://127.0.0.1:13080/sse"
+ },
+ "google-keep": {
+ "type": "stdio",
+ "command": "uvx",
+ "args": ["--from", "keep-mcp", "python", "-m", "server.cli"],
+ "env": {
+ "GOOGLE_EMAIL": "${GOOGLE_KEEP_EMAIL}",
+ "GOOGLE_MASTER_TOKEN": "${GOOGLE_KEEP_MASTER_TOKEN}"
+ }
}
}