<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Siqiang Zhang</title>
    <description>The latest articles on DEV Community by Siqiang Zhang (@zh53525).</description>
    <link>https://dev.to/zh53525</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4188035%2Ff4884611-acc2-4a53-8b5a-a096a1a32085.png</url>
      <title>DEV Community: Siqiang Zhang</title>
      <link>https://dev.to/zh53525</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zh53525"/>
    <language>en</language>
    <item>
      <title>Why does a Codex CLI MCP server appear in another repository?</title>
      <dc:creator>Siqiang Zhang</dc:creator>
      <pubDate>Fri, 16 Oct 2026 06:47:14 +0000</pubDate>
      <link>https://dev.to/zh53525/why-does-a-codex-cli-mcp-server-appear-in-another-repository-2f7i</link>
      <guid>https://dev.to/zh53525/why-does-a-codex-cli-mcp-server-appear-in-another-repository-2f7i</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: This article was prepared with AI assistance. The two-repository scenario and configuration changes below are hypothetical and untested. They describe a diagnostic approach, not a reported repair. Official documentation checked on October 16, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Suppose you use a documentation MCP server in &lt;code&gt;repo-a&lt;/code&gt;. You start Codex CLI in &lt;code&gt;repo-b&lt;/code&gt;, where you do not need it, and the server still appears. Before reinstalling anything, check where that configuration lives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with configuration scope
&lt;/h2&gt;

&lt;p&gt;Codex can load personal settings from &lt;code&gt;~/.codex/config.toml&lt;/code&gt; and project overrides from &lt;code&gt;.codex/config.toml&lt;/code&gt;. Project layers load only for trusted projects. Within a repository, configuration nearer the current working directory takes precedence over higher project directories; command-line overrides take precedence over project configuration. See &lt;a href="https://learn.chatgpt.com/docs/config-file/config-basic" rel="noopener noreferrer"&gt;Config basics&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A user-level MCP entry is therefore a plausible explanation for a server appearing across repositories. That is a hypothesis to verify against the actual launch command and configuration sources.&lt;/p&gt;

&lt;p&gt;For example, the &lt;a href="https://developers.openai.com/learn/docs-mcp" rel="noopener noreferrer"&gt;official documentation MCP setup&lt;/a&gt; supports this user-level entry:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[mcp_servers.openaiDeveloperDocs]&lt;/span&gt;
&lt;span class="py"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://developers.openai.com/mcp"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  A small troubleshooting checklist
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Record the CLI version, working directory, and exact launch command. Check aliases or wrappers for configuration overrides.&lt;/li&gt;
&lt;li&gt;Locate the server definition. Inspect relevant user and project settings, selected profiles, and managed configuration. Redact tokens, headers, private paths, and URL parameters before sharing excerpts.&lt;/li&gt;
&lt;li&gt;Check project trust. An ignored project override can explain unexpected behavior. Review an unfamiliar repository before trusting it merely to activate configuration.&lt;/li&gt;
&lt;li&gt;Separate configuration from runtime status. &lt;code&gt;codex mcp list&lt;/code&gt; shows configured servers; &lt;code&gt;/mcp&lt;/code&gt; inside the CLI’s interactive interface shows active servers. These answer different questions. The &lt;a href="https://learn.chatgpt.com/docs/extend/mcp?surface=cli" rel="noopener noreferrer"&gt;MCP documentation&lt;/a&gt; explains both.&lt;/li&gt;
&lt;li&gt;Check whether a plugin supplies the capability. Plugin-provided MCP servers use their own configuration namespace; a similarly named tool may have another source.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Before starting test sessions, inspect configured commands and endpoints. Startup can launch local MCP processes or contact remote services.&lt;/p&gt;

&lt;h2&gt;
  
  
  A hypothetical project override
&lt;/h2&gt;

&lt;p&gt;If the server should remain available globally except in &lt;code&gt;repo-b&lt;/code&gt;, a candidate change in &lt;code&gt;repo-b/.codex/config.toml&lt;/code&gt; is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[mcp_servers.openaiDeveloperDocs]&lt;/span&gt;
&lt;span class="py"&gt;enabled&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;a href="https://learn.chatgpt.com/docs/extend/mcp?surface=cli" rel="noopener noreferrer"&gt;MCP configuration reference&lt;/a&gt; documents &lt;code&gt;enabled = false&lt;/code&gt; as a way to disable a server while retaining its definition.&lt;/p&gt;

&lt;p&gt;Merge this into an existing table rather than appending a duplicate. Save the original diff first. The expected result depends on the installed version, project configuration loading, and higher-priority overrides. This example has not been executed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify both repositories
&lt;/h2&gt;

&lt;p&gt;Establish a baseline, then start fresh sessions in both repositories using the same version and launch method. Check that the target server is inactive in B and that A retains its baseline behavior. A disabled entry remaining in a configuration listing does not establish an active connection.&lt;/p&gt;

&lt;p&gt;For rollback, reverse only this change and repeat the checks. Preserve unrelated edits made meanwhile.&lt;/p&gt;

&lt;p&gt;Finally, hiding or disabling a capability does not demonstrate repository isolation or revoke server-side permissions. File access, network access, credentials, and remote authorization need separate review. Codex’s &lt;a href="https://learn.chatgpt.com/docs/sandboxing" rel="noopener noreferrer"&gt;sandbox documentation&lt;/a&gt; describes technical boundaries and approval controls. A clean tool list alone cannot establish those boundaries.&lt;/p&gt;

</description>
      <category>mcp</category>
    </item>
  </channel>
</rss>
