@double-coding/dsh-connectors 0.0.0-stage → 0.1.0-test.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CONTRIBUTING.md +173 -0
  2. package/LICENSE +21 -0
  3. package/README.en.md +156 -0
  4. package/README.md +153 -2
  5. package/assets/readme/architecture.webp +0 -0
  6. package/assets/readme/hero-en.svg +62 -0
  7. package/assets/readme/hero.svg +62 -0
  8. package/assets/readme/panel.webp +0 -0
  9. package/cordis.patch.yml +8 -0
  10. package/dist/client.js +5385 -0
  11. package/dist/client.js.map +7 -0
  12. package/dist/host/catalog.d.ts +7 -0
  13. package/dist/host/catalog.js +15 -0
  14. package/dist/host/catalog.js.map +1 -0
  15. package/dist/host/cli/adapters.d.ts +69 -0
  16. package/dist/host/cli/adapters.js +577 -0
  17. package/dist/host/cli/adapters.js.map +1 -0
  18. package/dist/host/cli/exec.d.ts +34 -0
  19. package/dist/host/cli/exec.js +186 -0
  20. package/dist/host/cli/exec.js.map +1 -0
  21. package/dist/host/cli/service.d.ts +44 -0
  22. package/dist/host/cli/service.js +711 -0
  23. package/dist/host/cli/service.js.map +1 -0
  24. package/dist/host/cli/version.d.ts +1 -0
  25. package/dist/host/cli/version.js +16 -0
  26. package/dist/host/cli/version.js.map +1 -0
  27. package/dist/host/connections.d.ts +106 -0
  28. package/dist/host/connections.js +1207 -0
  29. package/dist/host/connections.js.map +1 -0
  30. package/dist/host/errors.d.ts +4 -0
  31. package/dist/host/errors.js +8 -0
  32. package/dist/host/errors.js.map +1 -0
  33. package/dist/host/instanceUrl.d.ts +1 -0
  34. package/dist/host/instanceUrl.js +27 -0
  35. package/dist/host/instanceUrl.js.map +1 -0
  36. package/dist/host/mcpServers.d.ts +19 -0
  37. package/dist/host/mcpServers.js +243 -0
  38. package/dist/host/mcpServers.js.map +1 -0
  39. package/dist/host/oauth.d.ts +49 -0
  40. package/dist/host/oauth.js +215 -0
  41. package/dist/host/oauth.js.map +1 -0
  42. package/dist/host/openExternal.d.ts +1 -0
  43. package/dist/host/openExternal.js +45 -0
  44. package/dist/host/openExternal.js.map +1 -0
  45. package/dist/host/providers.d.ts +105 -0
  46. package/dist/host/providers.js +199 -0
  47. package/dist/host/providers.js.map +1 -0
  48. package/dist/host/routes.d.ts +18 -0
  49. package/dist/host/routes.js +514 -0
  50. package/dist/host/routes.js.map +1 -0
  51. package/dist/host/sse-bridge.d.ts +1 -0
  52. package/dist/host/sse-bridge.js +168 -0
  53. package/dist/host/sse-bridge.js.map +1 -0
  54. package/dist/host/store.d.ts +184 -0
  55. package/dist/host/store.js +98 -0
  56. package/dist/host/store.js.map +1 -0
  57. package/dist/index.d.ts +5 -0
  58. package/dist/index.js +35 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/shared/categories.d.ts +12 -0
  61. package/dist/shared/categories.js +59 -0
  62. package/dist/shared/categories.js.map +1 -0
  63. package/dist/shared/customConfig.d.ts +1 -0
  64. package/dist/shared/customConfig.js +2 -0
  65. package/dist/shared/customConfig.js.map +1 -0
  66. package/dist/shared/types.d.ts +222 -0
  67. package/dist/shared/types.js +2 -0
  68. package/dist/shared/types.js.map +1 -0
  69. package/package.json +96 -4
  70. package/providers/README.md +44 -0
  71. package/providers/amap/icon.png +0 -0
  72. package/providers/amap/provider.json +34 -0
  73. package/providers/baidu-netdisk/icon.png +0 -0
  74. package/providers/baidu-netdisk/provider.json +36 -0
  75. package/providers/circleci/icon.svg +1 -0
  76. package/providers/circleci/provider.json +29 -0
  77. package/providers/cloudflare-docs/icon.svg +1 -0
  78. package/providers/cloudflare-docs/provider.json +26 -0
  79. package/providers/context7/icon.png +0 -0
  80. package/providers/context7/provider.json +25 -0
  81. package/providers/deepwiki/icon.svg +5 -0
  82. package/providers/deepwiki/provider.json +26 -0
  83. package/providers/firecrawl/icon.png +0 -0
  84. package/providers/firecrawl/provider.json +40 -0
  85. package/providers/gitee/icon.svg +1 -0
  86. package/providers/gitee/provider.json +32 -0
  87. package/providers/github/icon.svg +1 -0
  88. package/providers/github/provider.json +33 -0
  89. package/providers/gitlab/icon.svg +1 -0
  90. package/providers/gitlab/provider.json +31 -0
  91. package/providers/gitlab-self-hosted/icon.svg +1 -0
  92. package/providers/gitlab-self-hosted/provider.json +39 -0
  93. package/providers/grafana/icon.svg +1 -0
  94. package/providers/grafana/provider.json +32 -0
  95. package/providers/linear/icon.svg +1 -0
  96. package/providers/linear/provider.json +41 -0
  97. package/providers/microsoft-learn/icon.svg +6 -0
  98. package/providers/microsoft-learn/provider.json +26 -0
  99. package/providers/neon/icon.svg +1 -0
  100. package/providers/neon/provider.json +41 -0
  101. package/providers/notion/icon.svg +1 -0
  102. package/providers/notion/provider.json +29 -0
  103. package/providers/posthog/icon.svg +1 -0
  104. package/providers/posthog/provider.json +38 -0
  105. package/providers/postman/icon.svg +1 -0
  106. package/providers/postman/provider.json +29 -0
  107. package/providers/qcc/icon.png +0 -0
  108. package/providers/qcc/provider.json +50 -0
  109. package/providers/sentry/icon.svg +1 -0
  110. package/providers/sentry/provider.json +30 -0
  111. package/providers/sourcegraph/icon.png +0 -0
  112. package/providers/sourcegraph/provider.json +32 -0
  113. package/providers/supabase/icon.svg +1 -0
  114. package/providers/supabase/provider.json +52 -0
  115. package/providers/tavily/icon.svg +4 -0
  116. package/providers/tavily/provider.json +41 -0
  117. package/providers/tencent-docs/icon.png +0 -0
  118. package/providers/tencent-docs/provider.json +34 -0
  119. package/providers/tencent-yuanbao-search/icon.png +0 -0
  120. package/providers/tencent-yuanbao-search/provider.json +32 -0
  121. package/providers/tianyancha/icon.png +0 -0
  122. package/providers/tianyancha/provider.json +34 -0
  123. package/providers/yunxiao/icon.svg +1 -0
  124. package/providers/yunxiao/provider.json +30 -0
  125. package/schema/provider.schema.json +325 -0
@@ -0,0 +1,222 @@
1
+ export type TransportKind = 'stdio' | 'streamable-http' | 'sse';
2
+ export interface AuthHelp {
3
+ url: string;
4
+ label: string;
5
+ hint?: string;
6
+ }
7
+ export type CardAuth = {
8
+ type: 'none';
9
+ } | {
10
+ type: 'bearer';
11
+ label: string;
12
+ help?: AuthHelp;
13
+ } | {
14
+ type: 'header';
15
+ header: string;
16
+ prefix?: string;
17
+ label: string;
18
+ help?: AuthHelp;
19
+ } | {
20
+ type: 'oauth2';
21
+ flow: 'pkce';
22
+ registration: 'dcr' | {
23
+ clientId: string;
24
+ } | 'user';
25
+ scopes?: string[];
26
+ clientName?: string;
27
+ endpoints?: {
28
+ authorization: string;
29
+ token: string;
30
+ };
31
+ authorizeParams?: Record<string, string>;
32
+ tokenMethod?: 'POST' | 'GET';
33
+ pkce?: boolean;
34
+ help?: AuthHelp;
35
+ };
36
+ export interface ServerSpec {
37
+ serverName: string;
38
+ transport: TransportKind;
39
+ url?: string;
40
+ command?: string;
41
+ args?: string[];
42
+ }
43
+ export interface ProviderInstancePreset {
44
+ label: string;
45
+ url: string;
46
+ hint?: string;
47
+ }
48
+ export interface ProviderInstance {
49
+ label: string;
50
+ noun?: string;
51
+ placeholder?: string;
52
+ hint?: string;
53
+ help?: AuthHelp;
54
+ presets?: ProviderInstancePreset[];
55
+ }
56
+ export interface ConnectorCard {
57
+ id: string;
58
+ name: string;
59
+ vendor?: string;
60
+ category: string;
61
+ summary: string;
62
+ description?: string;
63
+ examples?: string[];
64
+ tags?: string[];
65
+ published: boolean;
66
+ featured?: boolean;
67
+ source?: 'builtin' | 'custom';
68
+ instance?: ProviderInstance;
69
+ auth: CardAuth;
70
+ server: ServerSpec;
71
+ }
72
+ export interface ToolInfo {
73
+ name: string;
74
+ description?: string;
75
+ }
76
+ export interface ConnectionView {
77
+ connectorId: string;
78
+ name: string;
79
+ serverName: string;
80
+ transport: TransportKind;
81
+ enabled: boolean;
82
+ authorized: boolean;
83
+ instanceReady?: boolean;
84
+ oauthClientReady?: boolean;
85
+ tools: string[];
86
+ toolDetails: ToolInfo[];
87
+ error?: string;
88
+ createdAt: number;
89
+ }
90
+ export interface ConnectionsPayload {
91
+ ok: true;
92
+ value: {
93
+ connections: ConnectionView[];
94
+ };
95
+ }
96
+ export interface CatalogPayload {
97
+ ok: true;
98
+ value: {
99
+ version: number;
100
+ cards: ConnectorCard[];
101
+ };
102
+ }
103
+ export interface CustomConnectorsPayload {
104
+ ok: true;
105
+ value: {
106
+ connectors: ConnectorCard[];
107
+ };
108
+ }
109
+ export interface CustomConfigView {
110
+ json: string;
111
+ installed: boolean;
112
+ }
113
+ export interface CustomConfigPayload {
114
+ ok: true;
115
+ value: {
116
+ config: CustomConfigView;
117
+ };
118
+ }
119
+ export interface CustomUpdatePayload {
120
+ ok: true;
121
+ value: {
122
+ card: ConnectorCard;
123
+ disconnected: boolean;
124
+ };
125
+ }
126
+ export interface OAuthStartPayload {
127
+ ok: true;
128
+ value: {
129
+ authorizeUrl: string;
130
+ flowId: string;
131
+ opened: boolean;
132
+ };
133
+ }
134
+ export interface OAuthStatusPayload {
135
+ ok: true;
136
+ value: {
137
+ status: 'pending' | 'done' | 'error' | 'expired';
138
+ message?: string;
139
+ };
140
+ }
141
+ export interface HealthPayload {
142
+ ok: true;
143
+ value: {
144
+ name: string;
145
+ version: string;
146
+ capabilities: Record<string, boolean>;
147
+ node: string;
148
+ };
149
+ }
150
+ export declare const ROUTE_PREFIX = "/dsh-connectors";
151
+ export type CliConnectorId = 'dingtalk' | 'feishu' | 'tmeet' | 'wecom' | 'hf' | 'agent-mail';
152
+ export type CliPhase = 'idle' | 'installing' | 'updating' | 'configuring' | 'logging_in' | 'uninstalling' | 'error';
153
+ export interface CliCapabilityItem {
154
+ id: string;
155
+ name: string;
156
+ description?: string;
157
+ count?: number;
158
+ }
159
+ export interface CliCapabilitiesView {
160
+ kind: 'products' | 'skills' | 'groups';
161
+ total: number;
162
+ items: CliCapabilityItem[];
163
+ }
164
+ export interface CliConnectorView {
165
+ id: CliConnectorId;
166
+ name: string;
167
+ vendor: string;
168
+ description: string;
169
+ category: string;
170
+ docsUrl: string;
171
+ examples: string[];
172
+ installHint: string[];
173
+ installed: boolean;
174
+ enabled: boolean;
175
+ version?: string;
176
+ authenticated: boolean;
177
+ account?: {
178
+ name?: string;
179
+ email?: string;
180
+ org?: string;
181
+ };
182
+ skills: {
183
+ installed: boolean;
184
+ count: number;
185
+ names: string[];
186
+ dir?: string;
187
+ };
188
+ minVersion?: string;
189
+ versionOutdated?: boolean;
190
+ capabilities?: CliCapabilitiesView;
191
+ phase: CliPhase;
192
+ stage?: string;
193
+ link?: string;
194
+ code?: string;
195
+ output?: string;
196
+ lastError?: string;
197
+ updatedAt?: number;
198
+ }
199
+ export interface CliListPayload {
200
+ ok: true;
201
+ value: {
202
+ connectors: CliConnectorView[];
203
+ };
204
+ }
205
+ export interface CliConnectorPayload {
206
+ ok: true;
207
+ value: {
208
+ connector: CliConnectorView;
209
+ };
210
+ }
211
+ export interface CliActionPayload {
212
+ ok: true;
213
+ value: {
214
+ connector: CliConnectorView;
215
+ };
216
+ }
217
+ export interface CliLogPayload {
218
+ ok: true;
219
+ value: {
220
+ output: string;
221
+ };
222
+ }
@@ -0,0 +1,2 @@
1
+ export const ROUTE_PREFIX = '/dsh-connectors';
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AA0JA,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,98 @@
1
1
  {
2
2
  "name": "@double-coding/dsh-connectors",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0-test.0",
4
+ "description": "DeepSeek Harness MCP connector panel: browse a connector catalog, connect MCP servers, manage credentials, and import mcpServers JSON.",
5
+ "keywords": [
6
+ "deepseek-harness",
7
+ "dsh",
8
+ "mcp",
9
+ "connectors",
10
+ "plugins"
11
+ ],
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/double-coding-lab/dsh-connectors.git"
15
+ },
16
+ "homepage": "https://github.com/double-coding-lab/dsh-connectors#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/double-coding-lab/dsh-connectors/issues"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public",
22
+ "registry": "https://registry.npmjs.org"
23
+ },
24
+ "license": "MIT",
25
+ "type": "module",
26
+ "main": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js"
32
+ },
33
+ "./client": {
34
+ "default": "./dist/client.js"
35
+ },
36
+ "./package.json": "./package.json"
37
+ },
38
+ "files": [
39
+ "dist",
40
+ "providers",
41
+ "schema",
42
+ "cordis.patch.yml",
43
+ "README.md",
44
+ "README.en.md",
45
+ "LICENSE",
46
+ "CONTRIBUTING.md",
47
+ "assets/readme"
48
+ ],
49
+ "dsh": {
50
+ "bundle": {
51
+ "patch": "./cordis.patch.yml"
52
+ },
53
+ "client": {
54
+ "platform": "web",
55
+ "inject": []
56
+ }
57
+ },
58
+ "scripts": {
59
+ "providers:icons": "node scripts/build-provider-icons.mjs",
60
+ "cli:icons": "node scripts/build-cli-icons.mjs",
61
+ "providers:check": "node scripts/check-providers.mjs",
62
+ "provider:new": "node scripts/new-provider.mjs",
63
+ "test:instance": "node scripts/test-instance-url.mjs",
64
+ "test:provider-schema": "node scripts/test-provider-schema.mjs",
65
+ "test:custom": "node scripts/test-custom-metadata.mjs",
66
+ "test:cli": "node scripts/test-cli-adapters.mjs && node scripts/test-cli-service.mjs",
67
+ "build": "node scripts/build-provider-icons.mjs && node scripts/build-cli-icons.mjs && tsc -p tsconfig.build.json && node scripts/build-client.mjs",
68
+ "typecheck": "node scripts/build-provider-icons.mjs && node scripts/build-cli-icons.mjs && tsc --noEmit && tsc -p tsconfig.client.json",
69
+ "check": "npm run typecheck && npm run build && npm run providers:check && npm run test:instance && npm run test:provider-schema && npm run test:oauth && npm run test:custom && npm run test:cli && npm run test:sse",
70
+ "link:web": "npm run build && dsh plugin --profile web add link:.",
71
+ "test:oauth": "node scripts/test-oauth-discovery.mjs",
72
+ "test:sse": "node scripts/test-sse-bridge.mjs"
73
+ },
74
+ "engines": {
75
+ "node": "^22.19.0 || >=24.0.0",
76
+ "dsh": ">=0.2.0-rc.2 <0.3.0"
77
+ },
78
+ "dependencies": {
79
+ "@modelcontextprotocol/client": "2.2.0",
80
+ "monaco-editor": "^0.57.0",
81
+ "zod": "4.4.3"
82
+ },
83
+ "peerDependencies": {
84
+ "@deepseek-ai/cordis": "~4.0.4",
85
+ "@deepseek-ai/dsh-storage-domain": "*",
86
+ "react": "^18.2.0",
87
+ "react-dom": "^18.2.0"
88
+ },
89
+ "devDependencies": {
90
+ "@deepseek-ai/cordis": "4.0.5",
91
+ "@deepseek-ai/dsh-storage-domain": "0.2.1-rc.3",
92
+ "@types/node": "^22.20.0",
93
+ "@types/react": "~18.3.1",
94
+ "@types/react-dom": "^18.3.7",
95
+ "esbuild": "^0.25.0",
96
+ "typescript": "~5.7.2"
97
+ }
98
+ }
@@ -0,0 +1,44 @@
1
+ # Providers
2
+
3
+ 每个子目录是一个内置连接器;`provider.json` 是唯一信源,图标可选(svg / png / webp)。改完运行:
4
+
5
+ ```bash
6
+ npm run providers:icons # 重新生成 src/client/provider-icons.generated.ts
7
+ npm run check # 类型检查 + 构建 + provider 校验
8
+ ```
9
+
10
+ 当前内置 27 个 MCP provider:
11
+
12
+ | id | auth | 分类 |
13
+ | --- | --- | --- |
14
+ | github | bearer | 开发工具 |
15
+ | linear | oauth2(DCR) | 项目管理 |
16
+ | neon | oauth2(DCR) | 数据库 |
17
+ | supabase | oauth2(DCR) | 数据库 |
18
+ | gitlab | oauth2(DCR) | 开发工具 |
19
+ | gitlab-self-hosted | oauth2(DCR,instance) | 开发工具 |
20
+ | context7 | none | 知识检索 |
21
+ | microsoft-learn | none | 知识检索 |
22
+ | deepwiki | none | 知识检索 |
23
+ | cloudflare-docs | none | 开发工具 |
24
+ | posthog | oauth2(DCR,无 scope) | 数据分析 |
25
+ | grafana | bearer | 安全运维 |
26
+ | postman | oauth2(DCR) | 开发工具 |
27
+ | sourcegraph | bearer | 开发工具 |
28
+ | circleci | oauth2(DCR) | 开发工具 |
29
+ | sentry | oauth2(DCR) | 安全运维 |
30
+ | notion | oauth2(DCR) | 办公协作 |
31
+ | yunxiao | oauth2(DCR) | 开发工具 |
32
+ | gitee | bearer | 开发工具 |
33
+ | tencent-yuanbao-search | bearer | 知识检索 |
34
+ | amap | none(instance) | 知识检索 |
35
+ | tencent-docs | oauth2(DCR) | 办公协作 |
36
+ | tianyancha | oauth2(DCR) | 数据分析 |
37
+ | qcc | oauth2(DCR,instance 预置 10 个数据域) | 数据分析 |
38
+ | firecrawl | oauth2(DCR) | 知识检索 |
39
+ | tavily | oauth2(DCR) | 知识检索 |
40
+ | baidu-netdisk | bearer(SSE) | 办公协作 |
41
+
42
+ 钉钉、飞书、腾讯会议、企业微信、Hugging Face、Agent Mail 通过 CLI + Agent Skills 接入(`dws` / `lark-cli` / `tmeet` / `wecom-cli` / `hf` / `agently-cli`),不提供远程 MCP;有可用的 MCP 地址时,用自定义连接器导入。
43
+
44
+ 新增或修改 provider 的完整规则见 [CONTRIBUTING.md](../CONTRIBUTING.md)。
Binary file
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "amap",
5
+ "name": "高德地图",
6
+ "vendor": "高德",
7
+ "category": "知识检索",
8
+ "summary": "查询地点、路线与天气,地址中需带高德 Key。",
9
+ "description": "高德官方 MCP 服务,填写完整地址并在 query 中带上高德 Key;Key 只保存在本机。",
10
+ "examples": [
11
+ "查从北京南站到首都机场的驾车路线",
12
+ "找附近评分高的咖啡店",
13
+ "查某个地址的经纬度",
14
+ "查明天的天气"
15
+ ],
16
+ "tags": ["地图", "路线", "天气"],
17
+ "order": 69,
18
+ "instance": {
19
+ "label": "高德 MCP 地址",
20
+ "placeholder": "https://mcp.amap.com/mcp?key=...",
21
+ "help": {
22
+ "url": "https://lbs.amap.com/api/mcp-server/gettingstarted",
23
+ "label": "查看高德 MCP 接入指引",
24
+ "hint": "创建 Web 服务 Key 并填入地址的 key 参数。"
25
+ }
26
+ },
27
+ "server": {
28
+ "serverName": "amap",
29
+ "transport": "streamable-http"
30
+ },
31
+ "auth": {
32
+ "type": "none"
33
+ }
34
+ }
Binary file
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "baidu-netdisk",
5
+ "name": "百度网盘",
6
+ "vendor": "百度",
7
+ "category": "办公协作",
8
+ "summary": "把网盘文件列表、搜索、整理与分享接给 Agent。",
9
+ "description": "百度网盘官方 MCP 服务(SSE):文件与文档/图片/视频列表、文件详情、关键词与语义搜索、创建/复制/移动/重命名/删除、分享链接、容量与账号信息。按官方「在 Agent 中自定义使用」方式接入:打开官方授权链接拿到 Access Token 后粘贴到卡片,无需创建应用或配置回调;SSE 模式不包含本地上传。",
10
+ "examples": [
11
+ "看看我网盘根目录最近改过的文件,按类型分组",
12
+ "在 /资料 下新建文件夹【2026 Q4】,把相关文档移动进去",
13
+ "语义搜索:找出与【上季度财报】相关的 PDF",
14
+ "把 /交付 里的方案文档生成一个 7 天有效的分享链接"
15
+ ],
16
+ "tags": [
17
+ "网盘",
18
+ "文件管理",
19
+ "分享"
20
+ ],
21
+ "order": 92,
22
+ "server": {
23
+ "serverName": "baidu-netdisk",
24
+ "transport": "sse",
25
+ "url": "https://mcp-pan.baidu.com/sse"
26
+ },
27
+ "auth": {
28
+ "type": "bearer",
29
+ "label": "百度网盘 Access Token",
30
+ "help": {
31
+ "url": "https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=QHOuRXiepJBMjtk0esLhrPoNlQyYd0mF&redirect_uri=oob&scope=basic,netdisk&qrcode=1",
32
+ "label": "打开百度网盘官方授权链接",
33
+ "hint": "登录并同意授权后,从浏览器地址栏复制 access_token 参数;令牌只保存在本机。"
34
+ }
35
+ }
36
+ }
@@ -0,0 +1 @@
1
+ <svg fill="#343434" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>CircleCI</title><path d="M8.963 12c0-1.584 1.284-2.855 2.855-2.855 1.572 0 2.856 1.284 2.856 2.855 0 1.572-1.284 2.856-2.856 2.856-1.57 0-2.855-1.284-2.855-2.856zm2.855-12C6.215 0 1.522 3.84.19 9.025c-.01.036-.01.07-.01.12 0 .313.252.576.575.576H5.59c.23 0 .433-.13.517-.333.997-2.16 3.18-3.672 5.712-3.672 3.466 0 6.286 2.82 6.286 6.287 0 3.47-2.82 6.29-6.29 6.29-2.53 0-4.714-1.5-5.71-3.673-.097-.19-.29-.336-.517-.336H.755c-.312 0-.575.253-.575.576 0 .037.014.072.014.12C1.514 20.16 6.214 24 11.818 24c6.624 0 12-5.375 12-12 0-6.623-5.376-12-12-12z"/></svg>
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "circleci",
5
+ "name": "CircleCI",
6
+ "vendor": "CircleCI",
7
+ "category": "开发工具",
8
+ "summary": "查询 CircleCI 流水线、工作流与构建结果。",
9
+ "description": "CircleCI 官方 MCP 服务,可查询流水线、工作流、构建状态与失败原因。",
10
+ "examples": [
11
+ "查最近失败的流水线",
12
+ "总结一个工作流的失败步骤",
13
+ "查看项目的最新构建",
14
+ "对比两次构建的耗时"
15
+ ],
16
+ "tags": ["CI/CD", "流水线", "构建"],
17
+ "order": 73,
18
+ "server": {
19
+ "serverName": "circleci",
20
+ "transport": "streamable-http",
21
+ "url": "https://mcp.circleci.com/v1/mcp"
22
+ },
23
+ "auth": {
24
+ "type": "oauth2",
25
+ "flow": "pkce",
26
+ "registration": "dcr",
27
+ "clientName": "DSH 连接器"
28
+ }
29
+ }
@@ -0,0 +1 @@
1
+ <svg fill="#F38020" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727"/></svg>
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "cloudflare-docs",
5
+ "name": "Cloudflare Docs",
6
+ "vendor": "Cloudflare",
7
+ "category": "开发工具",
8
+ "summary": "检索 Cloudflare 官方文档,无需凭据。",
9
+ "description": "Cloudflare 官方文档 MCP 服务,适合查询 Workers、Pages、D1、R2、Access 等产品的配置与示例。",
10
+ "examples": [
11
+ "查 Cloudflare Workers 的 KV 绑定用法",
12
+ "查 D1 数据库的迁移命令",
13
+ "查 R2 的 S3 兼容接口怎么配置",
14
+ "查 Cloudflare Access 的应用接入方式"
15
+ ],
16
+ "tags": ["文档", "Cloudflare", "边缘计算"],
17
+ "order": 70,
18
+ "server": {
19
+ "serverName": "cloudflare-docs",
20
+ "transport": "streamable-http",
21
+ "url": "https://docs.mcp.cloudflare.com/mcp"
22
+ },
23
+ "auth": {
24
+ "type": "none"
25
+ }
26
+ }
Binary file
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "context7",
5
+ "name": "Context7",
6
+ "vendor": "Upstash",
7
+ "category": "知识检索",
8
+ "summary": "按库名与版本检索最新文档和代码示例,无需凭据。",
9
+ "examples": [
10
+ "用 Context7 查一下 React 19 的最新文档,给出 Hooks 用法示例",
11
+ "查 Next.js 15 App Router 的官方文档,按示例写一个页面",
12
+ "对比 Vue 3.5 与 React 19 在状态管理上的差异,引用官方文档",
13
+ "查一下 Prisma 最新版本的迁移用法,给出命令和示例"
14
+ ],
15
+ "tags": ["文档", "代码示例"],
16
+ "order": 60,
17
+ "server": {
18
+ "serverName": "context7",
19
+ "transport": "streamable-http",
20
+ "url": "https://mcp.context7.com/mcp"
21
+ },
22
+ "auth": {
23
+ "type": "none"
24
+ }
25
+ }
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
2
+ <rect width="24" height="24" rx="6" fill="#6B4EFF"/>
3
+ <path d="M6 7.5c2.2 0 4 .5 6 1.8 2-1.3 3.8-1.8 6-1.8v9.2c-2.2 0-4 .5-6 1.8-2-1.3-3.8-1.8-6-1.8V7.5Z" fill="none" stroke="#fff" stroke-width="1.5" stroke-linejoin="round"/>
4
+ <path d="M12 9.3v9.2" stroke="#fff" stroke-width="1.5"/>
5
+ </svg>
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "deepwiki",
5
+ "name": "DeepWiki",
6
+ "vendor": "Cognition",
7
+ "category": "知识检索",
8
+ "summary": "查询 GitHub 仓库的结构、文档与代码说明,无需凭据。",
9
+ "description": "DeepWiki 为公开 GitHub 仓库生成结构化文档与问答,适合快速理解仓库结构、模块划分与核心流程。",
10
+ "examples": [
11
+ "用 DeepWiki 查一下 facebook/react 的仓库结构",
12
+ "总结 owner/repo 的模块划分和主要入口",
13
+ "解释 owner/repo 的核心数据流",
14
+ "查一下 owner/repo 的测试与构建方式"
15
+ ],
16
+ "tags": ["代码文档", "仓库结构"],
17
+ "order": 63,
18
+ "server": {
19
+ "serverName": "deepwiki",
20
+ "transport": "streamable-http",
21
+ "url": "https://mcp.deepwiki.com/mcp"
22
+ },
23
+ "auth": {
24
+ "type": "none"
25
+ }
26
+ }
Binary file
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "firecrawl",
5
+ "name": "Firecrawl",
6
+ "vendor": "Firecrawl",
7
+ "category": "知识检索",
8
+ "summary": "抓取网页、爬取整站并提取结构化数据,把网页变成 Agent 可用的 Markdown 或 JSON。",
9
+ "description": "Firecrawl 官方 MCP 服务:单页抓取、站内爬取与映射、联网搜索、结构化提取和定时监控。授权时在浏览器登录 Firecrawl 并选择团队,令牌只保存在本机。",
10
+ "examples": [
11
+ "把这个产品页抓成 Markdown,保留标题和价格表",
12
+ "爬取 docs.example.com 的前 20 个页面,整理成一份知识摘要",
13
+ "搜索【固态电池量产进展】,把前 5 个结果的正文抓下来对比",
14
+ "按这个 JSON Schema 从招聘页面提取岗位、地点和薪资"
15
+ ],
16
+ "tags": [
17
+ "网页抓取",
18
+ "爬虫",
19
+ "结构化提取"
20
+ ],
21
+ "order": 64,
22
+ "server": {
23
+ "serverName": "firecrawl",
24
+ "transport": "streamable-http",
25
+ "url": "https://mcp.firecrawl.dev/v2/mcp-oauth"
26
+ },
27
+ "auth": {
28
+ "type": "oauth2",
29
+ "flow": "pkce",
30
+ "registration": "dcr",
31
+ "scopes": [
32
+ "firecrawl:global"
33
+ ],
34
+ "help": {
35
+ "url": "https://docs.firecrawl.dev/mcp-server",
36
+ "label": "查看 Firecrawl MCP 说明",
37
+ "hint": "授权时在浏览器登录 Firecrawl 并选择团队;额度按账号套餐计,令牌只保存在本机。"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1 @@
1
+ <svg fill="#C71D23" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Gitee</title><path d="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.016 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.592.592 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"/></svg>
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "../../schema/provider.schema.json",
3
+ "schemaVersion": 1,
4
+ "id": "gitee",
5
+ "name": "Gitee",
6
+ "vendor": "开源中国",
7
+ "category": "开发工具",
8
+ "summary": "查询 Gitee 仓库、Issue、Pull Request 与代码。",
9
+ "description": "Gitee 官方远程 MCP 服务,可查询仓库、Issue、Pull Request、分支与代码内容。",
10
+ "examples": [
11
+ "查一个 Gitee 仓库最近的合并请求",
12
+ "列出我负责的 Issue",
13
+ "搜索组织里使用某个函数的仓库",
14
+ "总结一个仓库的目录结构"
15
+ ],
16
+ "tags": ["代码托管", "Issue", "Pull Request"],
17
+ "order": 75,
18
+ "server": {
19
+ "serverName": "gitee",
20
+ "transport": "streamable-http",
21
+ "url": "https://api.gitee.com/mcp"
22
+ },
23
+ "auth": {
24
+ "type": "bearer",
25
+ "label": "Gitee 私人令牌",
26
+ "help": {
27
+ "url": "https://gitee.com/profile/personal_access_tokens",
28
+ "label": "创建 Gitee 私人令牌",
29
+ "hint": "建议勾选 projects、pull_requests、issues 权限;令牌只保存在本机。"
30
+ }
31
+ }
32
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="#181717" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>