Codex not finding MCP servers using its go-to `codex.list_mcp_resources` (VS Code Extension)

Resolved 💬 11 comments Opened Nov 4, 2025 by drewclifton Closed Nov 5, 2025
💡 Likely answer: A maintainer (gpeal, contributor) responded on this thread — see the highlighted reply below.

I have a config.toml file that look like this (on macOS):

model = "gpt-5-codex"
model_reasoning_effort = "medium"

[projects."/Users/drewclifton/projects/trading/trader-py-rt-2"]
trust_level = "trusted"

[shell_environment_policy]
inherit = "all"
set = { PATH = "/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin" }

[mcp_servers.context7]
args = ["-y", "@upstash/context7-mcp", "--api-key", "..."]
command = "npx"
startup_timeout_ms = 20_000

[mcp_servers."chrome-devtools"]
command = "npx"
args = ["chrome-devtools-mcp@latest"]

I seem to remember it worked before but isn't now.

When I ask Codex to use an MCP server (e.g., context7), it says it's not installed. When I ask it to list its available MCP servers, it does this:

• Called codex.list_mcp_resources({})
  └ {"resources": []}

(Same result in VS Code extension)

I am using Codex CLI 0.54.0 and Codex VS Code extension 0.4.35 (VS Code 1.105.1 (Universal)), and macOS 26.0.1.

View original on GitHub ↗

11 Comments

gpeal contributor · 8 months ago

The context7 MCP server has no Resources (a specific thing in MCP terminology). It does have two tools though: get-library-docs and resolve-library-id

drewclifton · 8 months ago

It can't find either server. It keeps saying it has no access to MCP servers, and consistently attempts to use list_mcp_resources. So how do I help Codex find the servers?

gpeal contributor · 8 months ago

You can ask it to use the tools in my last message

drewclifton · 8 months ago

Thanks. Curious, have you run into this issue before / does this happen when you try to use context7 with Codex? I seem to remember Codex could use these servers just fine before without handholding. I am wondering if I messed something up somewhere while trying to set these up...

gpeal contributor · 8 months ago

@drewclifton I'm not aware of anything. I just discovered that we're not passing along MCP tool descriptions. Most MCP servers don't provide them but context7 does. Once I land that, it should further help a bit.

drewclifton · 7 months ago

I ended up cancelling my ChatGPT subscription, as Codex was the main reason I was keeping it. MCP worked at first and then just quit. Seems others have been having issues as well. I assume OpenAI is working on it but 🤷‍♂️.

RidwaanT · 7 months ago
@drewclifton I'm not aware of anything. I just discovered that we're not passing along MCP tool descriptions. Most MCP servers don't provide them but context7 does. Once I land that, it should further help a bit.

Should I add it to the AGENT.md so it consistently knows to use it or do I have to reference it in every new conversation?

cheezmil · 7 months ago

The codex should provide a CLI command to directly restart the MCP client to solve the problem. Is there such a command in codex? I am turning in circles with urgency now.

merwanguerrib · 7 months ago

I have the same issue I can't use any mcp server tools of my config.toml

• Called context7.list_mcp_resources({"server":"context7"})
  └ Error: resources/list failed: unknown MCP server 'context7'
````
```bash
/mcp

🔌  MCP Tools

  • Context7
    • Status: enabled
    • Auth: Unsupported
    • Command: npx -y @upstash/context7-mcp@latest
    • Env: CONTEXT7_API_KEY=*****
    • Tools: (none)
    • Resources: (none)
    • Resource templates: (none)

  • GitHubMCP
    • Status: enabled
    • Auth: Unsupported
    • Command: npx -y @modelcontextprotocol/server-github
    • Env: GITHUB_TOKEN=*****
    • Tools: add_issue_comment, create_branch, create_issue, create_or_update_file, create_pull_request, create_pull_request_review, create_repository,
fork_repository, get_file_contents, get_issue, get_pull_request, get_pull_request_comments, get_pull_request_files, get_pull_request_reviews,
get_pull_request_status, list_commits, list_issues, list_pull_requests, merge_pull_request, push_files, search_code, search_issues, search_repositories,
search_users, update_issue, update_pull_request_branch
    • Resources: (none)
    • Resource templates: (none)

  • MuiMCP
    • Status: enabled
    • Auth: Unsupported
    • Command: npx -y @mui/mcp@latest
    • Tools: (none)
    • Resources: (none)
    • Resource templates: (none)

  • PlaywrightMCP
    • Status: enabled
    • Auth: Unsupported
    • Command: npx @playwright/mcp@latest
    • Tools: (none)
    • Resources: (none)
    • Resource templates: (none)

  • SequentialThinking
    • Status: enabled
    • Auth: Unsupported
    • Command: npx -y @modelcontextprotocol/server-sequential-thinking
    • Tools: sequentialthinking
    • Resources: (none)
    • Resource templates: (none)

  • shadcn
    • Status: enabled
    • Auth: Unsupported
    • Command: npx shadcn@latest mcp
    • Tools: (none)
    • Resources: (none)
    • Resource templates: (none)

  • supabase
    • Status: enabled
    • Auth: Unsupported
    • Command: npx -y @supabase/mcp-server-supabase --access-token sbp_**************
    • Tools: apply_migration, confirm_cost, create_branch, create_project, delete_branch, deploy_edge_function, execute_sql, generate_typescript_types,
get_advisors, get_cost, get_edge_function, get_logs, get_organization, get_project, get_project_url, get_publishable_keys, list_branches,
list_edge_functions, list_extensions, list_migrations, list_organizations, list_projects, list_tables, merge_branch, pause_project, rebase_branch,
reset_branch, restore_project, search_docs
    • Resources: (none)
    • Resource templates: (none)

Here is my .codex/config.toml

# ===============================
# Codex CLI – Configuration file
# ~/.config/codex/config.toml
# ===============================

# --------- Model config ---------
model = "gpt-5.1-codex-max"
model_reasoning_effort = "medium"
# model_max_tokens = 4096        # (optionnel, si tu veux fixer une limite)

# --------- Projects & trust ---------
# Chaque bloc [projects."<path>"] indique à Codex quels dossiers sont "trusted"
# pour l'exécution de commandes, l'accès fichiers, etc.

[projects."/Users/merwanguerrib/Dev/purchase.web"]
trust_level = "trusted"

[projects."/Users/merwanguerrib/Dev/Projects/prof-aide-seance"]
trust_level = "trusted"

[projects."/Users/merwanguerrib/Dev/invoicing.web"]
trust_level = "trusted"

[projects."/Users/merwanguerrib/Dev/Z_Projects/prof-aide-seance"]
trust_level = "trusted"

# ===============================
# MCP SERVERS
# ===============================
# Chaque bloc [mcp_servers.<Name>] déclare un serveur MCP accessible dans Codex.
# Le <Name> devient le préfixe pour les tools :
#   ex: GitHubMCP.list_pull_requests, Context7.search, etc.

# --------- Context7 MCP ---------
[mcp_servers.Context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@latest"]

[mcp_servers.Context7.env]
CONTEXT7_API_KEY = "ctx7sk-******************"

# --------- GitHub MCP ---------
[mcp_servers.GitHubMCP]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]

[mcp_servers.GitHubMCP.env]
GITHUB_TOKEN = "ghp_***************"

# --------- Sequential Thinking MCP ---------
[mcp_servers.SequentialThinking]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-sequential-thinking"]

# --------- MUI MCP ---------
[mcp_servers.MuiMCP]
command = "npx"
args = ["-y", "@mui/mcp@latest"]

# --------- Playwright MCP ---------
[mcp_servers.PlaywrightMCP]
command = "npx"
args = ["@playwright/mcp@latest"]

# --------- Supabase MCP ---------
[mcp_servers.supabase]
command = "npx"
args = ["-y", "@supabase/mcp-server-supabase", "--access-token", "********************"]

# --------- Shadcn MCP ---------
[mcp_servers.shadcn]
command = "npx"
args = ["shadcn@latest", "mcp"]

# ===============================
# Features
# ===============================

[features]
# Active la possibilité pour Codex de proposer des appels web.search
web_search_request = true
merwanguerrib · 7 months ago

@gpeal I don't understand how you see this issue worth to be closed ?

etraut-openai contributor · 7 months ago

@merwanguerrib, if you're seeing a related issue, please create a new bug report and reference this one. This issue was closed over a month ago.