Developer Research MCP Server
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
Related MCP server: search-online-mcp
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
.envfile: Copy themcp-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
.envfile is added to your.gitignoreto avoid committing secrets.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.
{
"mcpServers": {
"developer-research": {
// Changed name to be more generic
"command": "node",
"args": ["/full/path/to/your/developer-research-server/build/index.js"], // <-- IMPORTANT: Update this path
"env": {
// Environment variables are typically loaded from the .env file
// Or can be explicitly set here if needed, but .env is recommended for secrets
// "OPENROUTER_API_KEY": "your-openrouter-api-key", // <-- Replace or load from .env
// "OPENROUTER_API_URL": "https://openrouter.ai/api/v1"
},
"alwaysAllow": ["search_web"], // List tools the agent can always use
"timeout": 60 // Timeout in seconds
}
}
}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)
// Within a Roo Code agent or script
const searchResults = await useMcpTool("developer-research", "search_web", {
query: "advanced typescript patterns",
num_results: 3,
focus: "technical",
});
console.log(searchResults);Response Format
The tool returns a JSON object with the following structure:
{
"success": true, // Boolean indicating if the search was successful
"results": [
// Array of result objects
{
"title": "Title of the search result",
"url": "https://example.com/page",
"content": "A snippet or summary of the page content...",
"domain": "example.com"
}
// ... more results
],
"total_results": 3 // The actual number of results returned
}In case of an error, the response might look like:
{
"success": false,
"error": "Description of the error that occurred."
}License
MIT
Available Tools
1 toolsearch_webC
Search the web using OpenRouter and return relevant results
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | Focus area for search results | |
| query | Yes | The search query string | |
| num_results | No | Number of search results to return (1-10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavioral traits. It only states the action and backend, but does not mention potential side effects, rate limits, result format, or any operational nuances. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's purpose without superfluous words. It is well-structured and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should clarify what 'relevant results' look like. It does not mention return structure, error behavior, or how parameters affect outcomes. The tool is under-specified for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description need not repeat parameter details. It does not add extra semantic context about 'focus' or 'num_results' beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a web search via OpenRouter and returns relevant results. The verb 'Search' and resource 'the web' are specific, though 'relevant results' is somewhat vague. No siblings exist to distinguish against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, what kind of queries are appropriate, or any exclusions. With no sibling tools, the lack of usage context leaves the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v0.1.0- First observed
search_web
TDQS
Only one tool exists, so there is no possibility of confusing it with others. The purpose is unambiguous.
The tool name 'search_web' follows a clear verb_noun pattern, which is consistent and predictable.
With only one tool, the server feels very thin for a 'Developer Research' server. A few more tools would be expected to cover the domain adequately.
The server only offers a single web search operation. For developer research, one might expect additional capabilities like code or documentation search, but the basic search function is complete for its narrow purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Structured web research tool for AI agents: search, fetch and shape web data into the JSON schema…
The best web search for your AI Agent
Agent-native search engine with live web research optimized for AI agents.
Search Google straight from your AI agent. Web results, images, videos, news, products, scholarly ar
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides web search and content retrieval optimized for AI coding assistants, returning full conversations and structured content from StackOverflow, GitHub Issues, arXiv, and Wikipedia in a single call.382MIT
- AlicenseNot gradedqualityDmaintenanceExposes a standardized web search tool via Brave Search for MCP clients like Codex, Claude, and Cursor, returning stable JSON.MIT
- FlicenseNot gradedqualityCmaintenanceProvides web search capabilities using the Tavily API, enabling AI models to search the internet and retrieve up-to-date information.-
- AlicenseAqualityAmaintenanceProvides LLMs with real-time web search and content extraction capabilities, including text/news search, full-text URL reading, and targeted technical documentation search.324MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ali-nr/developer-research-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server