Skip to content

fix/opencode mcp gitnexus timeout#363

Merged
zander-raycraft merged 4 commits into
abhigyanpatwari:mainfrom
juampymdd:main
Mar 27, 2026
Merged

fix/opencode mcp gitnexus timeout#363
zander-raycraft merged 4 commits into
abhigyanpatwari:mainfrom
juampymdd:main

Conversation

@juampymdd

@juampymdd juampymdd commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

PR Description

This PR updates the README to fix the MCP configuration for OpenCode, which was not working with the previous setup.

I validated the behavior against OpenCode's current MCP documentation. For local MCP servers, OpenCode defines command as an array containing both the executable and its arguments, for example:

{
  "mcp": {
    "my-local-mcp-server": {
      "type": "local",
      "command": ["npx", "-y", "my-mcp-command"]
    }
  }
}

There is no documented support for a separate args field in this context.

Because of that, using:

{
  "command": "npx",
  "args": ["-y", "gitnexus@latest", "mcp"]
}

does not match the documented configuration format, and in my case OpenCode rejected it.

The working configuration aligned with the docs is:

{
  "mcp": {
    "gitnexus": {
      "type": "local",
      "command": ["gitnexus", "mcp"]
    }
  }
}

juampymdd and others added 3 commits March 17, 2026 16:20
Updated command structure for gitnexus in README. Change the mcp config for opencode.
Revise gitnexus command format in README
@zander-raycraft

Copy link
Copy Markdown
Collaborator

@magyargergo this is not a big fix but can you look at it and make sure that it is not redundant, I know the npm install -g gitnexus is already on the readme but it is in an inconvenient place

@magyargergo

Copy link
Copy Markdown
Collaborator

This works me fine. Please reopen it if still an issue.

P.S Thanks @zander-raycraft

@juampymdd

Copy link
Copy Markdown
Contributor Author

Thanks for checking this.

I validated the behavior against OpenCode's current MCP documentation. For local MCP servers, OpenCode defines command as an array containing both the executable and its arguments, for example:

{
  "mcp": {
    "my-local-mcp-server": {
      "type": "local",
      "command": ["npx", "-y", "my-mcp-command"]
    }
  }
}

There is no documented support for a separate args field in this context.

Because of that, using:

{
  "command": "npx",
  "args": ["-y", "gitnexus@latest", "mcp"]
}

does not match the documented configuration format, and in my case OpenCode rejected it.

The working configuration aligned with the docs is:

{
  "mcp": {
    "gitnexus": {
      "type": "local",
      "command": ["gitnexus", "mcp"]
    }
  }
}

So the intention of my PR was to make the README consistent with OpenCode’s documented MCP configuration and avoid confusion for users.

@zander-raycraft

Copy link
Copy Markdown
Collaborator

This is great, reopen it and I can finalize and merge it

@juampymdd

Copy link
Copy Markdown
Contributor Author

I’m not seeing the “Reopen” option on my side, so I don’t think I have permission to reopen the PR.

The issue is still valid though: OpenCode does not accept args in the MCP configuration, so the current README example does not work as expected.

If you can reopen it, I can update the PR with more details or adjustments.

fix: correct typo in MCP configuration for GitNexus
@vercel

vercel Bot commented Mar 25, 2026

Copy link
Copy Markdown

@juampymdd is attempting to deploy a commit to the NexusCore Team on Vercel.

A member of the Team first needs to authorize it.

@swelborn

Copy link
Copy Markdown

also ran into this, thanks for fixing it!

@zander-raycraft

Copy link
Copy Markdown
Collaborator

@claude deep review for merge recommendations

@github-actions

github-actions Bot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Claude finished @zander-raycraft's task in 1m 32s —— View job


Deep Review — Merge Recommendation

  • Gather PR context
  • Read changed file (README.md)
  • Validate correctness of the fix
  • Provide merge recommendation

Summary

This PR makes a 2-line documentation fix to the OpenCode MCP configuration in README.md. The change is minimal, correct, and low-risk.


What Changed (README.md)

Before (broken):

{
  "mcp": {
    "gitnexus": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "gitnexus@latest", "mcp"]
    }
  }
}

After (correct):

{
  "mcp": {
    "gitnexus": {
      "type": "local",
      "command": ["gitnexus", "mcp"]
    }
  }
}

Technical Correctness ✅

The fix is correct. OpenCode's MCP local server spec defines command as an array [executable, ...args] — there is no separate args field. The original config used a Cursor/Claude Code format that OpenCode does not support, causing silent rejection. This has been confirmed working by both the PR author and @swelborn.


Minor Concern — Global Install Dependency ⚠️

The proposed config uses ["gitnexus", "mcp"], which requires gitnexus to be globally installed (npm install -g gitnexus). All other editor configs in the README use npx to avoid this requirement:

Editor Requires global install?
Claude Code No (npx -y gitnexus@latest mcp)
Cursor No (npx + args)
Codex No (npx + args)
OpenCode (this PR) Yes (gitnexus binary)

An alternative that avoids the global install requirement would be:

"command": ["npx", "-y", "gitnexus@latest", "mcp"]

However, the PR author validated this against OpenCode's documentation and their real environment, and the existing README already mentions npm install -g gitnexus in the Quick Start section. The current fix is a clear improvement over the broken format. @zander-raycraft already flagged this concern and the consensus was to merge as-is.


Risk Assessment

Factor Assessment
Scope Documentation only — zero code impact
Correctness Validated against OpenCode docs + real usage
Community confirmation 2+ users confirmed it works
Regression risk None — other editor configs are untouched

Recommendation: ✅ MERGE

This is a clear, correct documentation fix. The change resolves a real user-facing issue (OpenCode rejecting the config), has been validated by multiple users, and touches only 2 lines in the README with no risk of regression. The minor inconsistency around global install is a pre-existing documentation concern and not introduced by this PR.

@zander-raycraft

Copy link
Copy Markdown
Collaborator

@juampymdd thank you so much! Sorry this review took a while, but great work!!

@zander-raycraft zander-raycraft merged commit c27c9f6 into abhigyanpatwari:main Mar 27, 2026
1 check failed
cnighut pushed a commit to cnighut/GitNexus that referenced this pull request Mar 27, 2026
icodebuster pushed a commit to icodebuster/GitNexus that referenced this pull request Mar 31, 2026
* main: (114 commits)
  feat(csharp): C# MethodExtractor config (abhigyanpatwari#582)
  docs: add gitnexus-shared build step before gitnexus-web (abhigyanpatwari#585)
  chore: add enterprise offering section to README, ignore local_docs/ (abhigyanpatwari#579)
  fix(eval): exclude litellm 1.82.7 and 1.82.8 due to compatibility issues (abhigyanpatwari#580)
  feat(java,kotlin): MethodExtractor abstraction with per-language configs (abhigyanpatwari#576)
  feat: added skip-agents-md cli flag (abhigyanpatwari#517)
  feat(wiki): Azure OpenAI support for wiki command (abhigyanpatwari#562)
  refactor: reduce explicit any types (abhigyanpatwari#566)
  feat(java): method references, worker overload disambiguation, interface dispatch (abhigyanpatwari#540)
  feat: configure eslint with unused import removal (abhigyanpatwari#564)
  feat: configure prettier with pre-commit hook (abhigyanpatwari#563)
  feat: unify web and cli ingestion pipeline (abhigyanpatwari#536)
  fix/opencode mcp gitnexus timeout (abhigyanpatwari#363)
  chore: bump version to 1.4.10, update CHANGELOG
  fix: resolve tree-sitter peer dependency conflicts (abhigyanpatwari#538)
  chore: bump version to 1.4.9, add CHANGELOG.md
  refactor: Phase 8 & 9 — Field Types and Return-Type Binding (abhigyanpatwari#494)
  feat: add COBOL language support with regex extraction pipeline (abhigyanpatwari#498)
  fix: close remaining Dart language support gaps (abhigyanpatwari#524)
  refactor: split global BUILT_IN_NAMES into per-language provider fields (abhigyanpatwari#523)
  ...

# Conflicts:
#	gitnexus/src/core/wiki/llm-client.ts
@abhigyanpatwari abhigyanpatwari mentioned this pull request Apr 1, 2026
3 tasks
motolese pushed a commit to motolese/datamoto-gitnexus that referenced this pull request Apr 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants