Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Developer Research MCP Serverfind the latest breaking changes in Next.js 15"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Developer Research MCP Server
This repository contains a Model Context Protocol (MCP) server designed to provide structured research capabilities, primarily web search, for AI agents or other development tools. MCP enables standardized communication between a client (like an AI agent) and servers offering specialized tools.
This server initially uses OpenRouter for its web search functionality but is built with an extensible architecture to easily integrate additional research providers (e.g., other search engines, databases) in the future.
Table of Contents
Features
Provides web search capabilities via providers like OpenRouter.
Optimized for retrieving technical and software development content.
Designed for extensibility to support multiple research providers.
Implements reliable error handling and retry mechanisms.
Delivers results in a well-structured, consistent JSON format suitable for programmatic use.
Architecture and Extensibility
This server utilizes a modular architecture. Each research provider (like OpenRouter) is implemented as a distinct module adhering to a common interface. This design principle makes it straightforward to:
Add support for new search engines or data sources.
Switch between providers based on configuration or request parameters (future enhancement).
Maintain and update provider-specific logic independently.
Prerequisites
Node.js v18 or higher
npm (comes with Node.js)
An API key for the desired research provider (e.g., OpenRouter)
Installation
Clone the repository:
git clone https://github.com/yourusername/developer-research-server.git # Replace with the actual URL cd developer-research-serverInstall dependencies: Use npm to install the project dependencies.
npm installBuild the project: Compile the TypeScript code to JavaScript.
npm run buildThe compiled output will be in the
build/directory.
Configuration
The server is configured using environment variables.
Create a Copy the
mcp-config-sample.json(if available, or create one manually) to a.envfile in the project root.# Example .env file content: OPENROUTER_API_KEY=your_openrouter_api_key_here OPENROUTER_API_URL=https://openrouter.ai/api/v1Note: Ensure the
Required Environment Variables:
OPENROUTER_API_KEY(required for OpenRouter provider): Your unique OpenRouter API key.OPENROUTER_API_URL(optional): The base URL for the OpenRouter API. Defaults tohttps://openrouter.ai/api/v1.
Future providers might require different environment variables.
Consumption
This MCP server listens for requests over standard input/output (stdio) when run directly. It's designed to be integrated into tools like Roo Code.
Using with Roo Code
To use this server with Roo Code, add the following configuration to your .roo/mcp.json file. Adjust the args path to point to the compiled index.js file within your cloned repository location.
Important:
Replace
/full/path/to/your/developer-research-server/build/index.jswith the correct absolute path on your system.Ensure the
OPENROUTER_API_KEYis securely configured, preferably via the.envfile loaded by the server process itself, rather than hardcoding it inmcp.json.
Available Tools
Currently, the server provides the following tools:
search_web
Performs a web search using the configured provider (currently OpenRouter) and returns relevant results.
Parameters
query(string, required): The search query.num_results(integer, optional): The desired number of search results. Must be between 1 and 10. Defaults to 5.focus(string, optional): Specifies the focus area for the search. Supported values:"technical","development","general". Defaults to"technical".
Example (Conceptual Roo Code Usage)
Response Format
The tool returns a JSON object with the following structure:
In case of an error, the response might look like:
License
MIT