chore(mcp): move lsp submodule under packages

This commit is contained in:
YeonGyu-Kim
2026-05-18 16:00:40 +09:00
parent bcbab0555d
commit 7187db6ede
9 changed files with 13 additions and 13 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ describe("getInstalledLspServers", () => {
// given
const userConfigDirectory = createTemporaryDirectory("omo-tools-lsp-user-")
const workspaceDirectory = createTemporaryDirectory("omo-tools-lsp-enabled-")
const lspCliDirectory = join(workspaceDirectory, "vendor", "lsp-tools-mcp", "dist")
const lspCliDirectory = join(workspaceDirectory, "packages", "lsp-tools-mcp", "dist")
mkdirSync(lspCliDirectory, { recursive: true })
writeFileSync(join(lspCliDirectory, "cli.js"), "#!/usr/bin/env node\n", "utf-8")
process.env.OPENCODE_CONFIG_DIR = userConfigDirectory
+3 -3
View File
@@ -13,11 +13,11 @@ Tier 1 of the three-tier MCP system. Built-ins are created by `createBuiltinMcps
| **websearch** | remote | `mcp.exa.ai` (default) or `mcp.tavily.com` | `EXA_API_KEY` (optional), `TAVILY_API_KEY` (if tavily) | Web search |
| **context7** | remote | `mcp.context7.com/mcp` | `CONTEXT7_API_KEY` (optional) | Library documentation |
| **grep_app** | remote | `mcp.grep.app` | None | GitHub code search |
| **lsp** | local (stdio, node) | `node vendor/lsp-tools-mcp/dist/cli.js mcp` | `LSP_TOOLS_MCP_PROJECT_CONFIG=.opencode/lsp.json` | `status`, diagnostics, goto definition, references, symbols, prepare_rename, rename |
| **lsp** | local (stdio, node) | `node packages/lsp-tools-mcp/dist/cli.js mcp` | `LSP_TOOLS_MCP_PROJECT_CONFIG=.opencode/lsp.json` | `status`, diagnostics, goto definition, references, symbols, prepare_rename, rename |
## SUBMODULE ARCHITECTURE
- The local `lsp` MCP is vendored as a git submodule at `vendor/lsp-tools-mcp/`.
- The local `lsp` MCP is a git submodule at `packages/lsp-tools-mcp/`.
- Upstream project: https://github.com/code-yeongyu/lsp-tools-mcp
- OMO resolves the CLI path dynamically in `src/mcp/lsp.ts` so both `src/` and `dist/` runtime layouts work.
@@ -38,4 +38,4 @@ Tier 1 of the three-tier MCP system. Built-ins are created by `createBuiltinMcps
| `websearch.ts` | Exa/Tavily provider with config |
| `context7.ts` | Context7 with optional auth header |
| `grep-app.ts` | Grep.app (no auth) |
| `lsp.ts` | Local stdio MCP config for vendored `lsp-tools-mcp` |
| `lsp.ts` | Local stdio MCP config for packaged `lsp-tools-mcp` |
+1 -1
View File
@@ -2,7 +2,7 @@ import { existsSync } from "node:fs"
import { resolve } from "node:path"
import { fileURLToPath } from "node:url"
const SUBMODULE_REL = "vendor/lsp-tools-mcp"
const SUBMODULE_REL = "packages/lsp-tools-mcp"
const CLI_REL = "dist/cli.js"
const PROJECT_LSP_CONFIG = ".opencode/lsp.json"
+1 -1
View File
@@ -18,7 +18,7 @@ Tools registered via [`createToolRegistry()`](file:///Users/yeongyu/local-worksp
| **Delegation** (2) | `task` (delegate, full skill+category support), `call_omo_agent` (named agent only: explore, librarian) |
| **Skills/MCP** (2) | `skill` (load skill or invoke command), `skill_mcp` (call skill-embedded MCP tool/resource/prompt) |
> LSP tools are now provided by built-in MCP server `lsp` (Tier-1 stdio), backed by `vendor/lsp-tools-mcp/`. OpenCode-compatible aliases remain available (`lsp_status`, `lsp_diagnostics`, `lsp_goto_definition`, `lsp_find_references`, `lsp_symbols`, `lsp_prepare_rename`, `lsp_rename`).
> LSP tools are now provided by built-in MCP server `lsp` (Tier-1 stdio), backed by `packages/lsp-tools-mcp/`. OpenCode-compatible aliases remain available (`lsp_status`, `lsp_diagnostics`, `lsp_goto_definition`, `lsp_find_references`, `lsp_symbols`, `lsp_prepare_rename`, `lsp_rename`).
### Conditional (up to +19 native tools)