Skip to content

Commit a521650

Browse files
ARHAEEMclaude
andcommitted
fix(official-mcp): add missing type:http to official Airtable MCP entry
Claude Code silently ignores mcpServers entries that lack a "type" field for remote HTTP servers. Added `"type": "http"` to buildOfficialAirtableEntry (skipped for Windsurf which uses serverUrl and its own format). Also added the field to the copy-paste snippet shown in the Setup UI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent ec88450 commit a521650

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

packages/extension/src/auto-config/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,13 @@ export async function getAllIdeStatuses(): Promise<IdeStatus[]> {
216216
// ── Official Airtable MCP (https://mcp.airtable.com/mcp) ───────────────────
217217

218218
function buildOfficialAirtableEntry(ideId: IdeId, pat: string): Record<string, unknown> {
219+
const isWindsurf = ideId === 'windsurf' || ideId === 'windsurf-next';
219220
// Windsurf uses 'serverUrl'; all other MCP clients use 'url'.
220-
const urlKey = (ideId === 'windsurf' || ideId === 'windsurf-next') ? 'serverUrl' : 'url';
221+
// Claude Code (and most MCP clients) also require "type": "http" to recognise
222+
// remote HTTP servers — without it the entry is silently ignored.
223+
const urlKey = isWindsurf ? 'serverUrl' : 'url';
221224
return {
225+
...(isWindsurf ? {} : { type: 'http' }),
222226
[urlKey]: OFFICIAL_AIRTABLE_URL,
223227
headers: { Authorization: `Bearer ${pat}` },
224228
};

packages/webview/src/tabs/Setup.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,13 @@ vim.lsp.enable('airtable_formula')`;
169169
}
170170

171171
export function getOfficialAirtableSnippet(ide: string): string {
172+
const isWindsurf = ide === 'windsurf' || ide === 'windsurf-next';
172173
// Windsurf uses 'serverUrl'; everyone else uses 'url'.
173-
const urlKey = (ide === 'windsurf' || ide === 'windsurf-next') ? 'serverUrl' : 'url';
174-
return `"airtable": {
174+
// Claude Code and most MCP clients require "type": "http" to recognise
175+
// remote HTTP servers — without it the entry is silently ignored.
176+
const urlKey = isWindsurf ? 'serverUrl' : 'url';
177+
const typeField = isWindsurf ? '' : '\n "type": "http",';
178+
return `"airtable": {${typeField}
175179
"${urlKey}": "https://mcp.airtable.com/mcp",
176180
"headers": {
177181
"Authorization": "Bearer {{AIRTABLE_PAT}}"

0 commit comments

Comments
 (0)