logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

dev-resource-locator-mcp-service

A utility for querying and retrieving technical content from developer knowledge bases such as GitHub repositories, MDN documentation, Stack Overflow discussions, and software package registries (npm, PyPI).

Author

dev-resource-locator-mcp-service logo

nahmanmate

GNU Affero General Public License v3.0

Quick Info

GitHub GitHub Stars 39
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

apisgithubdocumentationprogramming resourcesapis httpserver search

Developer Resource Locator MCP Service

smithery badge

This Model Context Protocol (MCP) server offers integrated tooling for locating and accessing crucial programming artifacts distributed across various online coding ecosystems. It connects LLMs directly to source code, official specs, community problem-solving forums, and dependency indexes.

Code Research Server MCP server

Core Capabilities

Indexed Sources

  • Stack Overflow - Community Q&A for coding issues
  • MDN Web Docs - Authoritative web technology specifications
  • GitHub - Source code and project exploration
  • npm - Node.js package repository index
  • PyPI - Python Package Index

Provided Functions

search_stackoverflow

Retrieves relevant question threads and answers from Stack Overflow. - Arguments: - query (mandatory): The textual search expression. - limit (optional): Upper bound on results returned (range 1 to 10; defaults to 5). - Output: Structured list containing question summaries, associated metrics (scores), and result excerpts. - Caching Policy: Results are retained in memory for 60 minutes.

search_mdn

Fetches official documentation entries from MDN for web standards. - Arguments: - query (mandatory): The specific documentation topic requested. - Output: Up to 5 top matches, including concise summaries and direct navigational links. - Caching Policy: Results are retained in memory for 60 minutes.

search_github

Scans GitHub for relevant code snippets and project repositories. - Arguments: - query (mandatory): The search string for locating code or projects. - language (optional): A filter to restrict searches to a specific programming dialect. - limit (optional): The maximum number of entries desired per search category (default is 5; range 1-10). - Output: A dual presentation: 1. A list of leading repositories, ranked by popularity (star count). 2. Snippets of code files, contextualized by their parent repository. - Caching Policy: Results are retained in memory for 60 minutes.

search_npm

Queries the npm registry for JavaScript libraries and modules. - Arguments: - query (mandatory): The package name or keyword to look up. - limit (optional): The quantity of package listings to retrieve (default 5; range 1-10). - Output: Metadata for matching packages, including version number, description, and download statistics. - Caching Policy: Results are retained in memory for 60 minutes.

search_pypi

Interfaces with the Python Package Index to find available software distributions. - Arguments: - query (mandatory): The search term for Python packages. - Output: Comprehensive details for matching packages, such as version, maintainer identity, and project URLs. - Caching Policy: Results are retained in memory for 60 minutes.

search_all

Executes concurrent searches across every indexed platform for maximal coverage. - Arguments: - query (mandatory): The universal search term. - limit (optional): The maximum count of results to fetch from each source (default 3; range 1-5). - Output: A consolidated aggregation containing findings from: 1. Stack Overflow Q&A threads. 2. MDN specification entries. 3. GitHub repositories and code samples. 4. npm packages. 5. PyPI packages. - Caching Policy: Results are retained in memory for 60 minutes. - Operational Note: All platform lookups are performed in parallel to minimize latency.

Prerequisites

  • Runtime Environment: Node.js version 20.11.0 or newer
  • Package Manager: npm version 10.0.0 or newer
  • Optional: A valid GitHub Personal Access Token to circumvent API usage caps.

Deployment Instructions

Automated Setup via Smithery

To deploy the Code Research Server automatically to your Claude Desktop environment using Smithery:

bash npx -y @smithery/cli install @nahmanmate/code-research-mcp-server --client claude

Manual Installation Steps

  1. Obtain the source code and install project dependencies: bash git clone https://github.com/nahmanmate/code-research-mcp-server.git cd code-research-server npm install

  2. Compile the server assets: bash npm run build

  3. Configure the MCP Host Settings:

Integrate the server path into your MCP configuration file:

  • VSCode Users: ~/.vscode-server/data/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • Claude Desktop Users:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Example Configuration Snippet:

{ "mcpServers": { "code-research": { "command": "node", "args": ["/absolute/path/to/code-research-mcp-server/build/index.js"], "env": { "GITHUB_TOKEN": "your_github_token" // Recommended for high query volumes }, "disabled": false, "alwaysAllow": [] } } }

Instruction: Substitute /absolute/path/to with the actual location of your cloned repository.

Advanced Operation

Local Development Mode

To run the server with automatic recompilation upon file modification: bash npm run watch

Troubleshooting & Error Management

The server implements comprehensive fault tolerance: - Detailed error reporting specific to each external API. - Logic to gracefully manage and report GitHub API rate limit breaches. - Fallback routines to maintain stability if a third-party service becomes temporarily inaccessible. - Utilization of caching to minimize external service calls and associated error risks.

Debugging Tools

Due to the stdio nature of MCP communication, direct debugging can be opaque. Employ the dedicated MCP Inspector for visibility:

bash npm run inspector

The Inspector utility offers: - Live stream monitoring of all inbound requests and outbound responses. - Step-by-step tracing of tool execution flows. - Display of relevant error call stacks. - Performance metrics capturing execution times.

Access the debugging dashboard via the URL provided in your console output.

Data Persistence Strategy

Internal data storage relies on the node-cache library: - Standard Time-To-Live (TTL): 3600 seconds (1 hour). - Cache keys are uniquely generated based on the combination of search term and parameter settings. - Caching mechanisms are tailored for each external source. - Focus on maintaining low memory footprint.

Collaboration Guidelines

  1. Fork the repository source.
  2. Establish a dedicated feature branch.
  3. Commit your functional changes.
  4. Push your branch to the remote repository.
  5. Submit a Pull Request for review.

AGPLv3

WIKIPEDIA: The XMLHttpRequest (XHR) interface is a standard part of web browser APIs, implemented as a JavaScript object. Its methodologies permit web applications to dispatch HTTP requests to a server subsequent to the initial page load, and subsequently process the response data. XHR is fundamental to the programming paradigm known as Ajax. Before Ajax, server interaction primarily relied on traditional hyperlink navigation or form submissions, actions which typically resulted in a complete page refresh.

== Historical Context == The conceptual foundation for XMLHttpRequest originated around the year 2000, conceived by engineers working on Microsoft Outlook. This concept was first actualized within Internet Explorer 5 (released in 1999). Curiously, the initial implementation did not use the standardized XMLHttpRequest identifier; instead, developers employed the COM syntax ActiveXObject("Msxml2.XMLHTTP") or ActiveXObject("Microsoft.XMLHTTP"). By the time Internet Explorer 7 arrived in 2006, universal support for the standard XMLHttpRequest constructor had been achieved across all major browser engines.

=== Standardization Efforts === The World Wide Web Consortium (W3C) initiated the publication of a formal Working Draft specification for the XMLHttpRequest object on April 5, 2006. A subsequent Working Draft, designated Level 2, was released on February 25, 2008. Level 2 introduced key enhancements, enabling progress monitoring, facilitating cross-origin requests, and supporting the manipulation of byte streams. By the conclusion of 2011, the features defined in Level 2 were formally integrated back into the primary specification document. Development oversight transitioned to the WHATWG initiative near the end of 2012, where it is presently maintained as a dynamic document defined using Web IDL.

== Operational Steps == Typically, invoking an HTTP request via XMLHttpRequest involves a sequence of distinct programming actions.

First, instantiate an XMLHttpRequest instance via its constructor: Call the .open() method to define the request method (GET/POST), specify the target Uniform Resource Identifier (URI), and determine the operational mode (synchronous or asynchronous): If an asynchronous operation is chosen, an event handler must be registered to receive notifications upon state transitions: Initiate the transmission of the request payload, if any, using the .send() method: Continuously monitor the object's readyState property within the event listener. Upon reaching state 4 (the terminal 'done' state), the server's reply is accessible, typically within the .responseText property. Beyond these fundamental steps, XHR provides numerous controls over request formation and response processing. Custom HTTP headers can be injected to guide server behavior, and data can be transmitted to the server via the argument supplied to .send(). Furthermore, server responses formatted as JSON can be directly coerced into native JavaScript objects, or processed iteratively as they arrive rather than waiting for completion. The request lifecycle can also be terminated prematurely or subjected to a mandated timeout.

== Inter-Origin Communication Restrictions ==

During the nascent phases of the World Wide Web, fundamental security constraints were identified that restricted the ability to execu

See Also

`