dsh-armory 2.3.0 → 2.3.1

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.
@@ -1,244 +0,0 @@
1
- // en-US overlay for the generated built-in MCP catalog (lib/mcp-catalog.js).
2
- //
3
- // Why this file exists: `mcp-catalog.js` is generated from the upstream verified
4
- // list (see its header) and is not a UI string table, so its Chinese `summary`,
5
- // `access`, `authNote`, and category labels cannot go through client `t()`
6
- // (the i18n dictionary is checked bidirectionally against client.js literals and
7
- // would report every catalog key as an orphan). The host instead ships both
8
- // languages with the `builtins` RPC, and the client selects by locale.
9
- //
10
- // Maintenance: when a catalog entry is added/removed upstream, the parity test
11
- // (`test/mcp-catalog-i18n.mjs`) fails until this overlay is updated. Keep the
12
- // English fields free of CJK so an English panel never leaks Chinese here.
13
- // Proper nouns (Exa, GitHub, ClickHouse, ...) stay as-is.
14
- export const CATEGORY_LABELS_EN = {
15
- search: 'Search',
16
- dev: 'Developer Tools',
17
- security: 'Security & Reverse Engineering',
18
- data: 'Databases & Data',
19
- ai: 'AI & Knowledge',
20
- browser: 'Browser Automation',
21
- cloud: 'Cloud & Infrastructure',
22
- productivity: 'Productivity',
23
- files: 'Files & Local',
24
- comms: 'Communication',
25
- };
26
-
27
- // Only display labels containing Chinese need an override; ASCII brand names are
28
- // already language-neutral. `localizeBuiltinItem` falls back to `label`.
29
- export const CATALOG_LABELS_EN = {
30
- 'deepwiki-fetch': 'DeepWiki (local fetch)',
31
- };
32
-
33
- export const MCP_CATALOG_EN = {
34
- exa: {
35
- summary: 'Web search and content reading',
36
- access: 'Usable without a key (rate-limited); add x-api-key to headers to raise the quota',
37
- authNote: 'The keyless signal is an empty x-api-key header (rate limit measured in testing); set EXA_API_KEY for a higher quota',
38
- },
39
- tavily: {
40
- summary: 'AI-optimized search and web extraction',
41
- access: 'Free keyless mode has rate limits (responses are identical with a key); the official free key gives 1,000 credits/month, no credit card required',
42
- },
43
- firecrawl: {
44
- summary: 'Web scraping, search, and document parsing',
45
- access: 'Usable without a key (daily limit); set an API key for a higher quota. For sites requiring browser login, use /v2/mcp-oauth',
46
- authNote: 'Sends an empty Bearer token in keyless mode; set FIRECRAWL_API_KEY for keyed mode',
47
- },
48
- 'brave-search': {
49
- summary: 'Independent web and local search index',
50
- access: 'Requires your own Brave Search API key (free tier available; paid beyond it)',
51
- authNote: 'BRAVE_API_KEY is required; there is no keyless path',
52
- },
53
- perplexity: {
54
- summary: 'Real-time web search and deep research',
55
- access: 'Requires a paid Perplexity API key (Bearer); no free quota',
56
- authNote: 'PERPLEXITY_API_KEY is required (Bearer); no free quota',
57
- },
58
- 'google-maps': {
59
- summary: 'Google Maps platform developer documentation search',
60
- access: 'Free during the experimental phase, no authentication required (testing returned 2 documentation-search tools from tools/list)',
61
- },
62
- fetch: {
63
- summary: 'Fetch web pages and convert them to LLM-friendly text',
64
- access: 'Open source and free; no key required',
65
- },
66
- github: {
67
- summary: 'Repositories, issues, pull requests, and code search',
68
- access: 'Requires a GitHub account with OAuth authorization; a PAT also works. Available features depend on your plan',
69
- authNote: 'Skip OAuth: configure GITHUB_PERSONAL_ACCESS_TOKEN (a PAT) and connect directly with Bearer',
70
- },
71
- gitlab: {
72
- summary: 'Projects, issues, and merge request access',
73
- access: 'Available on Free and higher plans; OAuth dynamic registration, including self-hosted instances | WARNING: static token auth is not officially confirmed (official MCP docs only describe OAuth/DCR; issue 586184 requests PAT support and was answered as not on the near-term roadmap), so authorization may fail in DSH',
74
- authNote: 'Only OAuth dynamic registration is supported; static tokens are not officially supported, so this host will stall during authorization and stay disconnected after installation',
75
- },
76
- sentry: {
77
- summary: 'Error search, performance analysis, and issue triage',
78
- access: 'Requires Sentry account OAuth authorization (free-tier accounts work)',
79
- authNote: 'Official docs only mention OAuth; if you issue SENTRY_AUTH_TOKEN in Sentry settings, Bearer may work (not guaranteed by the docs)',
80
- },
81
- git: {
82
- summary: 'Read and write local Git repositories',
83
- access: 'Open source and free; operates only on local repositories',
84
- },
85
- serena: {
86
- summary: 'Symbol-level code search and refactoring',
87
- access: 'Open source and free (MIT), runs locally; install first with uv tool install -p 3.13 serena-agent',
88
- },
89
- everything: {
90
- summary: 'Official reference implementation for connectivity checks',
91
- access: 'Open source and free; intended for demos and testing',
92
- },
93
- 'fast-context': {
94
- summary: 'Windsurf-powered semantic code search',
95
- access: 'Open source and free; if Windsurf is installed its key is picked up automatically, otherwise set WINDSURF_API_KEY',
96
- authNote: 'Key is picked up automatically when Windsurf is installed; otherwise set WINDSURF_API_KEY',
97
- },
98
- jshook: {
99
- summary: 'JS analysis and security research: hooks, CDP debugging, deobfuscation',
100
- access: 'Open source and free (AGPL-3.0), runs locally; requires Node 22.12+. Tool profiles are controlled by MCP_TOOL_PROFILE (search ~3K tokens / workflow / full ~40K+); the default profile is sufficient',
101
- },
102
- 'ida-pro': {
103
- summary: 'Drive IDA Pro for reverse engineering',
104
- access: 'Requires IDA Pro installed locally; the service is fetched on demand, no prior pip install needed',
105
- },
106
- 'frida-mcp': {
107
- summary: 'Frida dynamic instrumentation: hook functions and trace calls',
108
- access: 'Open source and free (MIT), runs locally; requires Frida and the target on this machine. Tested with uvx startup and a successful initialize/tools/list handshake; enumerate_processes returned local processes',
109
- },
110
- dbx: {
111
- summary: 'Multi-database queries (Postgres / MySQL / SQLite, etc.)',
112
- access: 'Open source and free; native local binary. Data sources are configured in the DBX app',
113
- },
114
- postgres: {
115
- summary: 'Postgres queries, indexes, and health analysis',
116
- access: 'Open source and free; requires your own database connection string (DATABASE_URI)',
117
- authNote: 'Set DATABASE_URI (the database connection string, including the password)',
118
- },
119
- sqlite: {
120
- summary: 'Local SQLite queries and data analysis',
121
- access: 'Open source and free; operates only on local .db files. Note: the official project is archived and receives maintenance fixes only',
122
- },
123
- redis: {
124
- summary: 'Redis key-value, vector, and stream operations',
125
- access: 'Open source and free (MIT); requires your own Redis instance',
126
- authNote: 'Set REDIS_HOST / REDIS_PORT; include the password if the instance requires one',
127
- },
128
- clickhouse: {
129
- summary: 'ClickHouse queries and schema exploration',
130
- access: 'Open source and free, read-only by default; requires your own ClickHouse connection details',
131
- authNote: 'Set CLICKHOUSE_HOST / PORT / USER and CLICKHOUSE_PASSWORD',
132
- },
133
- mongodb: {
134
- summary: 'MongoDB and Atlas data access',
135
- access: 'Open source and free (Apache-2.0); requires your own connection string',
136
- authNote: 'Set MDB_MCP_CONNECTION_STRING (a connection string including the password)',
137
- },
138
- supabase: {
139
- summary: 'Supabase project and database management',
140
- access: 'Requires Supabase account OAuth authorization; parameters such as ?read_only=true can restrict permissions',
141
- authNote: 'Official docs specify OAuth; if you have SUPABASE_ACCESS_TOKEN, Bearer may work (not guaranteed by the docs)',
142
- },
143
- neon: {
144
- summary: 'Neon project management and queries',
145
- access: 'Requires Neon account OAuth or an API key; optional read-only mode and single-project scoping',
146
- authNote: 'Official recommendation is OAuth; set NEON_API_KEY as a Bearer token to connect directly',
147
- },
148
- 'deepwiki-fetch': {
149
- summary: 'Fetch DeepWiki pages and convert them to Markdown',
150
- access: 'Completely free, no authentication; fetches locally and overlaps with the official remote version, so pick one as needed',
151
- },
152
- memory: {
153
- summary: 'Persistent memory backed by a knowledge graph',
154
- access: 'Open source and free; data is stored in local files',
155
- },
156
- 'sequential-thinking': {
157
- summary: 'Step-by-step reasoning and dynamic problem decomposition',
158
- access: 'Open source and free; no key required',
159
- },
160
- context7: {
161
- summary: 'Real-time documentation for the latest library versions',
162
- access: 'Usable without a key; a free API key is available on the website to raise the rate limit',
163
- },
164
- deepwiki: {
165
- summary: 'Repository documentation and Q&A',
166
- access: 'Completely free, no authentication; accesses public repositories only',
167
- },
168
- huggingface: {
169
- summary: 'Model, dataset, and Spaces search',
170
- access: 'Basic tools work without a key; sign in to use your configured personal Apps and tools',
171
- },
172
- arxiv: {
173
- summary: 'Paper search and full-text access',
174
- access: 'Open source and free; no key required',
175
- },
176
- 'chrome-devtools': {
177
- summary: 'Drive a real Chrome instance for debugging and performance analysis',
178
- access: 'Open source and free, runs locally; requires Chrome installed',
179
- },
180
- playwright: {
181
- summary: 'Browser automation based on accessibility snapshots',
182
- access: 'Open source and free (Apache-2.0), runs locally; requires Node.js 18+',
183
- },
184
- 'cloudflare-api': {
185
- summary: 'Call the full Cloudflare API',
186
- access: 'Requires Cloudflare account OAuth authorization; an API token can also be used as a Bearer token',
187
- authNote: 'Official recommendation is OAuth; set CLOUDFLARE_API_TOKEN as a Bearer token to connect directly',
188
- },
189
- 'cloudflare-docs': {
190
- summary: 'Semantic search over official Cloudflare documentation',
191
- access: 'Usable without a key; no account required',
192
- },
193
- aws: {
194
- summary: 'Access AWS services through mcp-proxy-for-aws',
195
- access: 'Open source and free; credentials come from the local AWS configuration (~/.aws) and Bedrock access is required',
196
- authNote: 'Credentials come from local ~/.aws, so no key is needed here; the account must have Bedrock access',
197
- },
198
- kubernetes: {
199
- summary: 'Cluster resources, pods, and Helm management',
200
- access: 'Open source and free (Apache-2.0); uses the local kubeconfig',
201
- authNote: 'Uses local kubeconfig credentials, so no key is needed here; the cluster must be reachable',
202
- },
203
- docker: {
204
- summary: 'Run MCP servers uniformly in isolated containers',
205
- access: 'Open source and free (MIT); requires Docker Desktop or the docker CLI plugin',
206
- },
207
- netlify: {
208
- summary: 'Site builds, deployments, and the Netlify CLI',
209
- access: 'Requires Netlify account OAuth authorization | WARNING: static token auth is not officially confirmed (NETLIFY_PERSONAL_ACCESS_TOKEN in the official docs is an environment variable for the local stdio package; the remote endpoint only documents OAuth), so authorization may fail in DSH',
210
- authNote: 'The remote endpoint only documents OAuth; static tokens are not officially confirmed, so this host will stall during authorization and stay disconnected after installation',
211
- },
212
- linear: {
213
- summary: 'Issue, project, and comment management',
214
- access: 'Requires Linear account OAuth; read-only access is available at https://mcp.linear.app/mcp/readonly',
215
- authNote: 'Official docs specify OAuth; LINEAR_API_KEY as a Bearer token is not documented, so it will most likely fail to connect after installation',
216
- },
217
- atlassian: {
218
- summary: 'Jira and Confluence read/write',
219
- access: 'Free tier available (no credit card); requires Atlassian account OAuth authorization',
220
- authNote: 'Official docs specify OAuth; ATLASSIAN_API_TOKEN as a Bearer token is not documented, so it will most likely fail to connect after installation',
221
- },
222
- airtable: {
223
- summary: 'Read and write Airtable bases and records',
224
- access: 'Available on all plans (including free); requires Airtable OAuth authorization',
225
- authNote: 'Official docs specify OAuth; AIRTABLE_TOKEN as a Bearer token is not documented, so it will most likely fail to connect after installation',
226
- },
227
- 'microsoft-learn': {
228
- summary: 'Search official Microsoft documentation and code samples',
229
- access: 'Completely free; no authentication or account required',
230
- },
231
- time: {
232
- summary: 'Time queries and timezone conversion',
233
- access: 'Open source and free; purely local computation',
234
- },
235
- filesystem: {
236
- summary: 'File read/write within allowed directories',
237
- access: 'Open source and free; can access only directories explicitly allowed on the command line',
238
- },
239
- slack: {
240
- summary: 'Search messages, send messages, and manage canvases',
241
- access: 'Create your own Slack app and complete one OAuth flow to obtain an xoxp- user token, then configure it here; the token can be reused long-term',
242
- authNote: 'Create a Slack app and complete one OAuth flow to obtain an xoxp- user token; set SLACK_USER_TOKEN to reuse it long-term',
243
- },
244
- };