mcp-tools-server
mcp-tools-server
Servidor MCP (Model Context Protocol) de propósito general con herramientas de utilidad listas para ser consumidas por cualquier agente compatible.
Demuestra la implementación server-side de MCP: la mayoría de los proyectos solo consumen servidores. Este proyecto implementa uno.
Herramientas expuestas
Herramienta | Qué hace |
| Fecha, hora UTC, timestamp Unix, día de la semana, semana ISO |
| Evalúa expresiones matemáticas de forma segura (math completo) |
| Palabras, frases, caracteres y tokens estimados de un texto |
| Extrae valores de JSON mediante dot-path ( |
| Búsqueda en la base de conocimientos: stub listo para conectar a Qdrant |
| GET HTTP con lista de permitidos (allowlist) de dominios |
Inicio rápido
git clone https://github.com/RenanMiqueloti/mcp-tools-server.git
cd mcp-tools-server
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python server.pyConectar a Claude Desktop
Añada en ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mcp-tools": {
"command": "python",
"args": ["/caminho/absoluto/para/server.py"]
}
}
}Reinicie Claude Desktop. Las herramientas estarán disponibles automáticamente.
Conectar a un agente LangGraph
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic
client = MultiServerMCPClient({
"mcp-tools": {
"command": "python",
"args": ["server.py"],
"transport": "stdio",
}
})
tools = await client.get_tools()
agent = create_react_agent(ChatAnthropic(model="claude-opus-4-6"), tools)
result = await agent.ainvoke({"messages": [("human", "What day of the week is it?")]})Añadir la búsqueda real (Qdrant) en search_knowledge
En server.py, sustituya el stub en el manejador search_knowledge:
from qdrant_client import QdrantClient
from langchain_openai import OpenAIEmbeddings
client_q = QdrantClient(url=os.getenv("QDRANT_URL"))
embeddings = OpenAIEmbeddings()
query_vec = embeddings.embed_query(query)
hits = client_q.search("knowledge", query_vector=query_vec, limit=top_k)
results = [{"rank": i+1, "text": h.payload["text"], "score": h.score} for i, h in enumerate(hits)]Estructura
mcp-tools-server/
├── server.py # Servidor MCP completo (stdio transport)
├── requirements.txt
├── .env.example
└── LICENSEThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/RenanMiqueloti/mcp-tools-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server