Skip to content
Snippets Groups Projects
Commit e10f1688 authored by Swetha Lakshmana Murthy's avatar Swetha Lakshmana Murthy
Browse files

Add initial README.md for Agent Worflows

parent 17fd23b2
No related branches found
No related tags found
No related merge requests found
# 🧠 AI-Builder: MCP Server Framework
AI-Builder platforms helps you to build, deploy, and onboard intelligent AI agents using standardized, containerized tools via the **Model Context Protocol (MCP)** and **gRPC**.
> ⚡ **No custom wiring**
> 🔧 **Define once, deploy anywhere**
> 🚀 **Plug in any tool. Power any agent.**
## 📦 What is MCP?
**Model Context Protocol (MCP)** is an open standard for enabling AI systems to access external data sources and tools in a structured, secure, and composable way.
Think of it as **USB-C for AI agents** — a uniform interface to expose:
- Tools (actionable functions)
- Prompts (reusable LLM interactions)
- Resources (context/data fetchers)
With MCP, LLMs can interact with real-world services with minimal friction.
## 💡 Why FastMCP?
[**FastMCP**](https://github.com/jlowin/fastmcp) is a Python-first framework for building MCP servers.
Define your tool with a decorator, and FastMCP handles the rest.
---
## 🧬 MCP Agent Flow in AI-Builder
The mcp-servers in AI-Builder addresses the following,
- Protocol handling (via gRPC)
- Schema generation (JSON Schema)
- Tool registration and discovery
- Docker deployment
```User ➝ LLM ➝ MCP Server ➝ gRPC ➝ Tool ➝ Response ➝ LLM ➝ Output```
1. Schema Discovery
LLM queries all available tool schemas using SendFunctionSchemas.
2. Tool Selection & Invocation
LLM sends a ToolRequest with input JSON and target tool.
3. Tool Execution
The server runs the tool and returns a ToolInvocationResult.
## 🛠️ Server Template Structure
Each MCP tool lives in a self-contained directory:
<pre>
mcp-tool-name/
├── agent.proto # Shared proto definition
├── build_and_deploy.sh # Docker build + push
├── Dockerfile # Container config
├── mcp_<tool_name>.py # Tool logic
├── requirements.txt
└── server.py # FastMCP server entry
</pre>
💡 Just change mcp_tool_name, write your function, and deploy.
💡 **To create a new tool:**
1. Copy this folder template and rename it (e.g., `mcp-weather`, `mcp-web-scraper`)
2. Implement your tool function(s) in `mcp_<tool_name>.py`
3. Update `build_and_deploy.sh` to reflect your tool's Docker image tag
4. Run `./build_and_deploy.sh` to build and deploy the container
> ✅ Everything else (proto, server, Dockerfile) is reusable — you only write your tool logic.
## 🔌 gRPC Protocol Definition (agent.proto)
<pre>
syntax = "proto3";
enum AgentType {
UNKNOWN = 0;
EVENT = 1;
PLACES = 2;
WEATHER = 3;
}
message FunctionSchemasResponse {
AgentType agent_type = 1;
repeated string function_schemas = 2;
}
message ToolRequest {
AgentType agent_type = 1;
string tool_name = 2;
string arguments_json = 3;
}
message ToolInvocationResult {
AgentType agent_type = 1;
repeated string results = 2;
}
service ToolService {
rpc SendFunctionSchemas (Empty) returns (stream FunctionSchemasResponse);
rpc InvokeTool (stream ToolRequest) returns (stream ToolInvocationResult);
}
</pre>
## 🚀 Available MCP Servers
### 🌦️ mcp-weather
Tool: get_weather_forecast(location: str)
Provides real-time weather + 24-hour forecast using Open-Meteo API.
Natural language location (via geopy)
Temperature, humidity, wind speed
JSON output with timezone, elevation, etc.
### 🔗 mcp-web-scraper
Tool: scrape_and_clean(url: str)
Scrapes and cleans webpage content.
Removes scripts/styles
Extracts readable text and headings
Parses structured data (JSON-LD)
### 📍 mcp-places
(Coming soon)
Location-based information and nearby places.
### 🗞️ mcp-news-aggregator
(Coming soon)
Aggregates, classifies, and summarizes live news articles.
### 📚 mcp-wiki-knowledge-extractor
(Coming soon)
Extracts structured summaries and linked concepts from Wikipedia.
## 🧪 Sample Pipelines
You can combine these MCP tools with LLMs to build agent workflows such as:
| Pipeline | Tools Used | Description |
|------------------------|--------------------------------------------------|-------------------------------------------------------------------|
| 🗓️ Event Planner Agent | `mcp-web-scraper`, `mcp-weather`, `mcp-places` | Recommends weather and nearby venues for an event |
| ✈️ Travel Advisor Agent| `mcp-weather`, `mcp-wiki`, `mcp-web-scraper` | Gives travel suggestions, weather tips, and wiki facts |
| 🗞️ News Summarizer Bot | `mcp-news-aggregator`, `mcp-web-scraper` | Provides summarized, cleaned news from live sources |
| 🧠 Knowledge Builder | `mcp-wiki`, `mcp-web-scraper` | Builds structured info graphs from natural queries |
## 📦 Getting Started
1. Clone or fork the template
git clone
2. Navigate to tool directory
cd
3. Edit `mcp_<tool_name>.py` and define your tool logic
4. Build & deploy container - change the docker tag accordingly
chmod +x build_and_deploy.sh
./build_and_deploy.sh
## 📈 Future Roadmap
- Agent memory & conversation history
- Dynamic tool discovery
- Multi-tool support in one server
- Full support for Prompt, Resource, and Schema features of FastMCP
## 🤝 Contribute
Want to add your own tool? Fork this repo and follow the structure to create mcp-<your-tool-name>. PRs welcome!
## 📫 Contact
For feedback or collaboration, reach out via issues or Discussions.
## 🧭 Explore. Extend. Build.
We now support:
✅ 5 MCP servers
✅ 3 LLMs with tool-calling enabled
✅ Standardized onboarding in AI-Builder
Build your own agent pipelines — with no boilerplate, no hassle.
> Write your tool once.
Use it across all agents.
Deploy in minutes with AI-Builder.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment