{
  "dxt_version": "0.1",
  "name": "octocode-mcp",
  "display_name": "Octocode MCP Extension",
  "version": "19.1.0",
  "description": "Code research MCP server for GitHub, npm, local files, and LSP semantics",
  "long_description": "MCP server with code research tools across GitHub, npm, local files, and LSP semantics. Agents orient, search, read exact evidence, and prove findings with typed continuations and sanitized output.",
  "author": {
    "name": "Guy Bary",
    "email": "bgauryy@octocodeai.com",
    "url": "https://octocode.ai"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/bgauryy/octocode"
  },
  "homepage": "https://octocode.ai",
  "documentation": "https://github.com/bgauryy/octocode#readme",
  "support": "https://github.com/bgauryy/octocode/issues",
  "icon": "assets/logo.png",
  "server": {
    "type": "node",
    "entry_point": "dist/index.js",
    "mcp_config": {
      "command": "node",
      "args": [
        "${__dirname}/dist/index.js"
      ],
      "env": {
        "NODE_ENV": "production",
        "GITHUB_TOKEN": "${user_config.github_token}",
        "NPM_CONFIG_REGISTRY": "${user_config.npm_registry}"
      }
    }
  },
  "tools": [
    {
      "name": "ghSearch",
      "description": "Search GitHub code or repositories, or browse a repository tree"
    },
    {
      "name": "ghGetFileContent",
      "description": "Fetch file content from GitHub repositories"
    },
    {
      "name": "ghSearchHistory",
      "description": "Search GitHub pull requests, issues, or commits"
    },
    {
      "name": "ghGetHistoryItem",
      "description": "Read one GitHub pull request, issue, commit, or ref comparison"
    },
    {
      "name": "npmSearch",
      "description": "Search npm packages and source repositories"
    },
    {
      "name": "ghCloneRepo",
      "description": "Clone a GitHub repository or subtree for local analysis"
    },
    {
      "name": "localSearch",
      "description": "Search local text or syntax, discover files, or browse directory trees"
    },
    {
      "name": "localAnalyzeGraph",
      "description": "Analyze bounded local file dependency graphs"
    },
    {
      "name": "localGetFileContent",
      "description": "Read local file content with minification and exact slices"
    },
    {
      "name": "lspGetSemantics",
      "description": "Run LSP semantic navigation over local files"
    }
  ],
  "keywords": [
    "github",
    "npm",
    "code-search",
    "repository",
    "package-manager",
    "development",
    "api",
    "search",
    "mcp",
    "octocode"
  ],
  "license": "MIT",
  "compatibility": {
    "claude_desktop": ">=0.10.0",
    "platforms": [
      "darwin",
      "win32",
      "linux"
    ],
    "runtimes": {
      "node": ">=20.0.0"
    }
  },
  "user_config": {
    "github_token": {
      "type": "string",
      "title": "GitHub Token",
      "description": "Personal access token for GitHub API (optional, increases rate limits)",
      "sensitive": true,
      "required": false
    },
    "npm_registry": {
      "type": "string",
      "title": "NPM Registry",
      "description": "NPM registry URL",
      "default": "https://registry.npmjs.org",
      "required": false
    }
  }
}
