Skip to content

Commit db2f27f

Browse files
author
JooHyung Park
committed
[ai-assisted] Add Codex CLI MCP setup to client config list
1 parent b949e54 commit db2f27f

2 files changed

Lines changed: 31 additions & 3 deletions

File tree

src/components/mcp/McpClientItem.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ export function McpClientItem({ client }: McpClientItemProps) {
8383
const quotedPath = stdioPath.includes(' ') ? `"${stdioPath}"` : stdioPath
8484
return `claude mcp add TalkToFigmaDesktop node ${quotedPath}`
8585
}
86+
if (client.id === 'codex') {
87+
// Codex requires `--` before the executable command.
88+
const shellQuotedPath = `'${stdioPath.replace(/'/g, `'\\''`)}'`
89+
return `codex mcp add TalkToFigmaDesktop -- node ${shellQuotedPath}`
90+
}
8691
return client.cliCommand || ''
8792
}
8893

@@ -110,8 +115,8 @@ export function McpClientItem({ client }: McpClientItemProps) {
110115
</>
111116
)}
112117

113-
{/* Claude Code */}
114-
{client.id === 'claude-code' && (
118+
{/* CLI Clients */}
119+
{(client.id === 'claude-code' || client.id === 'codex') && (
115120
<>
116121
<div className="space-y-3">
117122
<ConfigCodeBlock config={getCliCommand()} />

src/lib/mcp/client-configs.ts

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,23 @@ export const MCP_CLIENTS: Record<string, McpClient> = {
6868
]
6969
},
7070

71+
codex: {
72+
id: 'codex',
73+
displayName: 'Codex CLI',
74+
configFormat: 'cli',
75+
serverName: 'TalkToFigmaDesktop',
76+
installMethod: 'cli',
77+
description: 'Use Codex CLI to install the MCP server',
78+
cliCommand: 'codex mcp add TalkToFigmaDesktop -- node <STDIO_SERVER_PATH>',
79+
instructions: [
80+
'Copy the command above (server path is pre-filled)',
81+
'Open your terminal',
82+
'Paste and run the command',
83+
'Use codex mcp list to verify TalkToFigmaDesktop is enabled',
84+
'If a malformed entry exists, run codex mcp remove TalkToFigmaDesktop and add it again'
85+
]
86+
},
87+
7188
vscode: {
7289
id: 'vscode',
7390
displayName: 'VS Code',
@@ -144,7 +161,13 @@ export function getClientConfig(clientId: string): McpClient | undefined {
144161
* Get all client IDs (excluding coming soon)
145162
*/
146163
export function getAllClientIds(): string[] {
147-
return Object.keys(MCP_CLIENTS).filter(id => id !== 'comingSoon')
164+
return Object.keys(MCP_CLIENTS)
165+
.filter(id => id !== 'comingSoon')
166+
.sort((a, b) => {
167+
const nameA = MCP_CLIENTS[a]?.displayName ?? a
168+
const nameB = MCP_CLIENTS[b]?.displayName ?? b
169+
return nameA.localeCompare(nameB, 'en', { sensitivity: 'base' })
170+
})
148171
}
149172

150173
/**

0 commit comments

Comments
 (0)