LLM Tool-Calling Assistant
This project connects a local LLM (e.g. Qwen) to tools such as a calculator or a knowledge base via the MCP protocol. The assistant automatically detects and calls these tools to help answer user queries.
๐ฆ Features
๐ง Tool execution through MCP server
๐ง Local LLM integration via HTTP or OpenAI SDK
๐ Knowledge base support (
data.json)โก Supports
stdioandssetransports
๐ Project Files
File | Description |
| Registers tools and starts MCP server |
| Uses |
| Uses OpenAI-compatible SDK for LLM + tool call logic |
| MCP client using stdio |
| MCP client using SSE |
| Q&A knowledge base |
๐ฅ Installation
Requirements
Python 3.8+
Install dependencies:
pip install -r requirements.txtrequirements.txt
aiohttp==3.11.18
nest_asyncio==1.6.0
python-dotenv==1.1.0
openai==1.77.0
mcp==1.6.0๐ Getting Started
1. Run the MCP server
python server.pyThis launches your tool server with functions like add, multiply, and get_knowledge_base.
2. Start a client
Option A: HTTP client (local LLM via raw API)
python client-http.pyOption B: OpenAI SDK client
python client-openai.pyOption C: stdio transport
python client-stdio.pyOption D: SSE transport
Make sure server.py sets:
transport = "sse"Then run:
python client-sse.py๐ฌ Example Prompts
Math Tool Call
What is 8 times 3?Response:
Eight times three is 24.Knowledge Base Question
What are the healthcare benefits available to employees in Singapore?Response will include the relevant answer from data.json.
๐ Example: data.json
[
{
"question": "What is Singapore's public holiday schedule?",
"answer": "Singapore observes several public holidays..."
},
{
"question": "How do I apply for permanent residency in Singapore?",
"answer": "Submit an online application via the ICA website..."
}
]๐ง Configuration
Inside client-http.py or clientopenai.py, update the following:
LOCAL_LLM_URL = "..."
TOKEN = "your-api-token"
LOCAL_LLM_MODEL = "your-model"Make sure your LLM is serving OpenAI-compatible API endpoints.
๐งน Cleanup
Clients handle tool calls and responses automatically. You can stop the server or client using Ctrl+C.
๐ชช License
MIT License. See LICENSE file.
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/o6-webwork/mcp-template'
If you have feedback or need assistance with the MCP directory API, please join our Discord server