From 4de1d29fe413853db571dd57847a7270c0eb6b98 Mon Sep 17 00:00:00 2001 From: Harshith Mullapudi Date: Mon, 14 Jul 2025 23:56:37 +0530 Subject: [PATCH] Feat: mcp proxy, new linear integration --- .../conversation/conversation-list.tsx | 6 +- apps/webapp/app/routes/api.v1.mcp.$slug.tsx | 113 + .../webapp/app/routes/api.v1.oauth._index.tsx | 22 +- .../app/routes/api.v1.oauth.callback.mcp.tsx | 100 + .../app/services/integrationAccount.server.ts | 14 + .../services/integrationDefinition.server.ts | 11 + .../app/services/oauth/oauth-utils.server.ts | 9 - .../webapp/app/services/oauth/oauth.server.ts | 74 +- apps/webapp/package.json | 2 +- integrations/linear/.prettierrc | 22 + integrations/linear/backend/account-create.ts | 19 + integrations/linear/backend/index.ts | 58 + integrations/linear/backend/schedule.ts | 599 + integrations/linear/eslint.config.js | 98 + integrations/linear/package.json | 71 + integrations/linear/pnpm-lock.yaml | 13881 ++++++++++++++++ integrations/linear/rollup.config.mjs | 71 + integrations/linear/spec.json | 19 + integrations/linear/tsconfig.frontend.json | 32 + integrations/linear/tsconfig.json | 31 + integrations/slack/package.json | 2 +- integrations/slack/src/index.ts | 2 - packages/mcp-proxy/.gitignore | 3 + packages/mcp-proxy/README.md | 163 + packages/mcp-proxy/package.json | 46 + .../mcp-proxy/src/core/mcp-remote-client.ts | 403 + packages/mcp-proxy/src/index.ts | 51 + packages/mcp-proxy/src/lib/coordination.ts | 314 + .../src/lib/in-memory-auth-storage.ts | 278 + .../src/lib/node-oauth-client-provider.ts | 401 + packages/mcp-proxy/src/lib/utils.ts | 311 + packages/mcp-proxy/src/types/index.ts | 14 + packages/mcp-proxy/src/types/remote-client.ts | 267 + .../src/utils/auth-provider-factory.ts | 75 + packages/mcp-proxy/src/utils/errors.ts | 30 + packages/mcp-proxy/src/utils/index.ts | 3 + .../src/utils/mcp-transport-bridge.ts | 116 + packages/mcp-proxy/src/utils/mcp-transport.ts | 87 + packages/mcp-proxy/tsconfig.json | 44 + packages/mcp-proxy/tsup.config.ts | 22 + {mcp => packages/mcp}/.gitignore | 0 {mcp => packages/mcp}/package.json | 0 {mcp => packages/mcp}/pnpm-lock.yaml | 0 {mcp => packages/mcp}/src/index.ts | 0 {mcp => packages/mcp}/src/operations/graph.ts | 0 {mcp => packages/mcp}/src/types/graph.ts | 0 .../mcp}/src/utils/axios-config.ts | 0 {mcp => packages/mcp}/src/utils/errors.ts | 0 {mcp => packages/mcp}/tsconfig.json | 0 pnpm-lock.yaml | 137 +- 50 files changed, 17938 insertions(+), 83 deletions(-) create mode 100644 apps/webapp/app/routes/api.v1.mcp.$slug.tsx create mode 100644 apps/webapp/app/routes/api.v1.oauth.callback.mcp.tsx create mode 100644 apps/webapp/app/services/integrationAccount.server.ts create mode 100644 integrations/linear/.prettierrc create mode 100644 integrations/linear/backend/account-create.ts create mode 100644 integrations/linear/backend/index.ts create mode 100644 integrations/linear/backend/schedule.ts create mode 100644 integrations/linear/eslint.config.js create mode 100644 integrations/linear/package.json create mode 100644 integrations/linear/pnpm-lock.yaml create mode 100644 integrations/linear/rollup.config.mjs create mode 100644 integrations/linear/spec.json create mode 100644 integrations/linear/tsconfig.frontend.json create mode 100644 integrations/linear/tsconfig.json create mode 100644 packages/mcp-proxy/.gitignore create mode 100644 packages/mcp-proxy/README.md create mode 100644 packages/mcp-proxy/package.json create mode 100644 packages/mcp-proxy/src/core/mcp-remote-client.ts create mode 100644 packages/mcp-proxy/src/index.ts create mode 100644 packages/mcp-proxy/src/lib/coordination.ts create mode 100644 packages/mcp-proxy/src/lib/in-memory-auth-storage.ts create mode 100644 packages/mcp-proxy/src/lib/node-oauth-client-provider.ts create mode 100644 packages/mcp-proxy/src/lib/utils.ts create mode 100644 packages/mcp-proxy/src/types/index.ts create mode 100644 packages/mcp-proxy/src/types/remote-client.ts create mode 100644 packages/mcp-proxy/src/utils/auth-provider-factory.ts create mode 100644 packages/mcp-proxy/src/utils/errors.ts create mode 100644 packages/mcp-proxy/src/utils/index.ts create mode 100644 packages/mcp-proxy/src/utils/mcp-transport-bridge.ts create mode 100644 packages/mcp-proxy/src/utils/mcp-transport.ts create mode 100644 packages/mcp-proxy/tsconfig.json create mode 100644 packages/mcp-proxy/tsup.config.ts rename {mcp => packages/mcp}/.gitignore (100%) rename {mcp => packages/mcp}/package.json (100%) rename {mcp => packages/mcp}/pnpm-lock.yaml (100%) rename {mcp => packages/mcp}/src/index.ts (100%) rename {mcp => packages/mcp}/src/operations/graph.ts (100%) rename {mcp => packages/mcp}/src/types/graph.ts (100%) rename {mcp => packages/mcp}/src/utils/axios-config.ts (100%) rename {mcp => packages/mcp}/src/utils/errors.ts (100%) rename {mcp => packages/mcp}/tsconfig.json (100%) diff --git a/apps/webapp/app/components/conversation/conversation-list.tsx b/apps/webapp/app/components/conversation/conversation-list.tsx index fcd666a..2881cbf 100644 --- a/apps/webapp/app/components/conversation/conversation-list.tsx +++ b/apps/webapp/app/components/conversation/conversation-list.tsx @@ -101,7 +101,7 @@ export const ConversationList = ({