mcp-tools-server
mcp-tools-server
Сервер MCP (Model Context Protocol) общего назначения с вспомогательными инструментами, готовыми к использованию любым совместимым агентом.
Демонстрирует реализацию server-side MCP — большинство проектов только потребляют серверы. Этот проект реализует один из них.
Предоставляемые инструменты
Инструмент | Что делает |
| Дата, время UTC, Unix-таймстамп, день недели, неделя ISO |
| Безопасное вычисление математических выражений (полный math) |
| Количество слов, предложений, символов и примерное количество токенов в тексте |
| Извлекает значения из JSON через dot-path ( |
| Поиск по базе знаний — заглушка, готовая к подключению к Qdrant |
| HTTP GET с белым списком доменов |
Быстрый старт
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.pyПодключение к Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mcp-tools": {
"command": "python",
"args": ["/caminho/absoluto/para/server.py"]
}
}
}Перезапустите Claude Desktop. Инструменты станут доступны автоматически.
Подключение к агенту 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?")]})Добавление реального search_knowledge (Qdrant)
В server.py замените заглушку в обработчике 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)]Структура
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