mcp-searcher
Provides tools for searching Elasticsearch indices, as demonstrated by the example ES search tool.
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., "@mcp-searchersearch Elasticsearch for articles about quantum computing"
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.
MCP Server Template
Template hexagonal para crear MCP servers en Node.js/TypeScript. Objetivo: agregar un nuevo tool = crear 1 archivo + 1 línea.
Estructura
src/
├── index.ts ← entrypoint (3 líneas)
│
├── core/
│ ├── registry.ts ← ToolRegistry: registro + dispatcher automático
│ ├── server.ts ← factory de instancias McpServer
│ └── run.ts ← transporte dual stdio/HTTP
│
├── tools/
│ ├── index.ts ← ← ← ÚNICO ARCHIVO QUE EDITAS AL AGREGAR TOOLS
│ └── examples/
│ └── es-search.tool.ts ← ejemplo completo (patrón a seguir)
│
├── infra/
│ ├── clients/
│ │ └── elasticsearch.client.ts ← singleton de ES
│ └── formatters/
│ └── result.formatter.ts ← limpieza de resultados para el LLM
│
├── config/
│ ├── env.ts ← variables de entorno validadas con Zod
│ └── logger.ts ← pino → stderr (MCP-safe)
│
└── shared/
├── types/
│ └── tool.types.ts ← ToolDefinition interface
└── errors/
└── mcp.error.ts ← toMcpError / toMcpSuccess helpersRelated MCP server: MCP Base Server
Agregar un nuevo tool (3 pasos)
Paso 1 — Crea src/tools/mi-feature.tool.ts
import { z } from "zod";
import { ToolDefinition } from "../shared/types/tool.types.js";
import { toMcpSuccess } from "../shared/errors/mcp.error.js";
const MiInput = z.object({
param: z.string().describe("Descripción para el LLM"),
});
async function miHandler(input: z.infer<typeof MiInput>) {
// tu lógica aquí
return toMcpSuccess({ resultado: input.param });
}
export const miTool: ToolDefinition<z.infer<typeof MiInput>> = {
name: "mi_tool",
description: "Descripción para el LLM",
inputSchema: MiInput,
handler: miHandler,
};Paso 2 — Regístralo en src/tools/index.ts
import { miTool } from "./mi-feature.tool.js";
export function registerAllTools(registry: ToolRegistry): void {
registry
.register(esSearchKeywordTool)
.register(miTool); // ← esta línea
}Paso 3 — Listo. El dispatcher, JSON Schema y listado MCP se actualizan solos.
Variables de entorno
SERVER_NAME=mi-mcp-server
SERVER_VERSION=1.0.0
MCP_TRANSPORT=stdio # stdio | http
PORT=3001
ELASTICSEARCH_URL=http://localhost:9200
LOG_LEVEL=infoComandos
npm install
npm run dev # dev stdio
npm run dev:http # dev MCP over HTTP
npm run prod # prod MCP over HTTPRegla de oro del MCP logging
Nunca uses console.log en un MCP server en modo stdio.
stdout es el canal del protocolo. Un console.log rompe el handshake.
Usa siempre logger.info(...) de config/logger.ts — escribe a stderr.
This server cannot be installed
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 Servers
- AlicenseCqualityDmaintenanceA TypeScript-based template for building Model Context Protocol servers, featuring fast testing, automated version management, and a clean structure for MCP tool implementations.1824MIT
- Alicense-qualityDmaintenanceA TypeScript-based template for rapidly developing MCP servers with modular tool architecture, built-in validation using Zod schemas, and comprehensive error handling.8MIT
- Alicense-qualityDmaintenanceA Node.js template for building stateful MCP servers with streamable HTTP transport, featuring modular tools and resources for easy extension and integration.82MIT
- Flicense-qualityDmaintenanceProvides a starting template for building MCP servers with TypeScript, including examples of tools and resources to accelerate development.
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
A MCP server built for developers enabling Git based project management with project and personal…
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
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/ljutreras/mcp-searcher'
If you have feedback or need assistance with the MCP directory API, please join our Discord server