<p align="center">
<img src="https://raw.githubusercontent.com/CelestoAI/agentor/main/assets/CelestoAI.png" alt="banner" width="500px"/>
</p>
<p align="center">
Fastest way to build, prototype and deploy AI Agents with tools <mark><i>securely</i></mark>
</p>
<p align="center">
<a href="https://docs.celesto.ai">Docs</a> |
<a href="https://github.com/celestoai/agentor/tree/main/docs/examples">Examples</a>
</p>
[](https://celesto.ai)
[](https://pypi.org/project/agentor/)
[](https://github.com/CelestoAI/agentor/actions/workflows/test.yml)

[](https://opensource.org/licenses/Apache-2.0)
[](https://discord.gg/KNb5UkrAmm)
## Agentor
Agentor is an open-source framework that makes it easy to build multi-agent system with secure integrations across email, calendars, CRMs, and more.
It lets you connect LLMs to tools โ like email, calendar, CRMs, or any data stack.
## ๐
Quick Start
### Installation
The recommended method of installing `agentor` is with pip from PyPI.
```bash
pip install agentor
```
<details>
<summary>More ways...</summary>
You can also install the latest bleeding edge version (could be unstable) of `agentor`, should you feel motivated enough, as follows:
```bash
pip install git+https://github.com/celestoai/agentor@main
```
</details>
## Agents API
Build an Agent, connect external tools or MCP Server and serve as an API in just few lines of code:
```diff
from agentor import Agentor, function_tool
@function_tool
def get_weather(city: str):
"""Get the weather of city"""
return f"Weather in {city} is sunny"
agent = Agentor(
name="Weather Agent",
model="gpt-5-mini",
- tools=[get_weather], # Bring your own tool, or
+ tools=["get_weather"], # 100+ Celesto AI managed tools โ plug-and-play
)
result = agent.run("What is the weather in London?") # Run the Agent
print(result)
# Serve Agent with a single line of code
+ agent.serve()
```
Run the following command to query the Agent server:
```bash
curl -X 'POST' \
'http://localhost:8000/chat' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"input": "What is the weather in London?"
}'
```
## LiteMCP
Lightweight [Model Context Protocol](https://modelcontextprotocol.io) server with FastAPI-like decorators:
```python
from agentor.mcp import LiteMCP
app = LiteMCP(name="my-server", version="1.0.0")
@app.tool(description="Get weather")
def get_weather(location: str) -> str:
return f"Weather in {location}: Sunny, 72ยฐF"
if __name__ == "__main__":
app.run() # or: uvicorn server:app
```
### LiteMCP vs FastMCP
**Key Difference:** LiteMCP is a native ASGI app that integrates directly with FastAPI using standard patterns. FastMCP requires mounting as a sub-application, diverging from standard FastAPI primitives.
| Feature | LiteMCP | FastMCP |
|---------|---------|---------|
| Integration | Native ASGI | Requires mounting |
| FastAPI Patterns | โ
Standard | โ ๏ธ Diverges |
| Built-in CORS | โ
| โ |
| Custom Methods | โ
Full | โ ๏ธ Limited |
| With Existing Backend | โ
Easy | โ ๏ธ Complex |
๐ [Learn more](https://docs.celesto.ai/agentor/tools/LiteMCP)
## Agent-to-Agent (A2A) Protocol
The A2A Protocol defines standard specifications for agent communication and message formatting, enabling seamless interoperability between different AI agents. Agentor provides built-in A2A support, making it effortless to create agents that can discover, communicate, and collaborate with other A2A-compatible agents.
**Key Features:**
- **Agent Discovery**: Automatic agent card generation at `/.well-known/agent-card.json` describing agent capabilities, skills, and endpoints
- **Standard Communication**: JSON-RPC based messaging with support for both streaming and non-streaming responses
- **Rich Interactions**: Built-in support for tasks, status updates, and artifact sharing between agents
**Quick Example:**
```python
from agentor import Agentor
agent = Agentor(
name="Weather Agent",
model="gpt-5-mini",
tools=["get_weather"],
)
# Serve agent with A2A protocol enabled automatically
agent.serve(port=8000)
# Agent card available at: http://localhost:8000/.well-known/agent-card.json
```
Any agent served with `agent.serve()` automatically becomes A2A-compatible with standardized endpoints for message sending, streaming, and task management.
๐ [Learn more](https://docs.celesto.ai/agentor/agent-to-agent)
## ๐ Features
<p>
๐ง <b>Build with OSS</b> |
๐งก <a href="https://celesto.ai" target="_blank"><b>Managed Multi-Agent Platform</b></a>
</p>
| Feature | Description |
|-----------------------------------------------|-----------------------------------------------|
| โ
Pre-built agents | Ready-to-use tools |
| ๐ Secure integrations | Email, calendar, CRMs, and more |
| ๐ LiteMCP | The only **full FastAPI compatible** MCP Server with decorator API |
| ๐ฆพ [A2A Protocol](https://a2a-protocol.org/latest/topics/what-is-a2a/) | [Docs](https://docs.celesto.ai/agentor/agent-to-agent) |
| โ๏ธ [Easy agent deployment](https://github.com/CelestoAI/agentor/tree/main/examples/agent-server) | `agentor deploy` |
### Managed Tool Hub (ready-to-use collection of tools)
Use Celesto [Tool Hub](https://celesto.ai/toolhub) for a realtime access to weather data and 100+ tools.
```python
from agentor import CelestoSDK
client = CelestoSDK(CELESTOAI_API_KEY)
# List all available tools
client.toolhub.list_tools()
# Run the weather tool for a specific location
client.toolhub.run_weather_tool("London")
# Run the Google email tool
client.toolhub.run_list_google_emails(limit=5)
```
## ๐ค Contributing
We'd love your help making Agentor even better! Please read our [Contributing Guidelines](.github/CONTRIBUTING.md) and [Code of Conduct](.github/CODE_OF_CONDUCT.md).
## ๐ License
Apache 2.0 License - see [LICENSE](LICENSE) for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "agentor",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "AI, Agents, Assistant, Hyper-personal, LLMs, OpenAI",
"author": null,
"author_email": "Aniket Maurya <aniket@celesto.ai>",
"download_url": "https://files.pythonhosted.org/packages/e6/7c/a00549d1b9ee0d7becefdb027251da84968806102a6f6c7b56b3b940de61/agentor-0.0.8.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/CelestoAI/agentor/main/assets/CelestoAI.png\" alt=\"banner\" width=\"500px\"/>\n</p>\n<p align=\"center\">\n Fastest way to build, prototype and deploy AI Agents with tools <mark><i>securely</i></mark>\n</p>\n<p align=\"center\">\n <a href=\"https://docs.celesto.ai\">Docs</a> |\n <a href=\"https://github.com/celestoai/agentor/tree/main/docs/examples\">Examples</a>\n</p>\n\n[](https://celesto.ai)\n[](https://pypi.org/project/agentor/)\n[](https://github.com/CelestoAI/agentor/actions/workflows/test.yml)\n\n[](https://opensource.org/licenses/Apache-2.0)\n[](https://discord.gg/KNb5UkrAmm)\n\n## Agentor\n\nAgentor is an open-source framework that makes it easy to build multi-agent system with secure integrations across email, calendars, CRMs, and more.\n\nIt lets you connect LLMs to tools \u2014 like email, calendar, CRMs, or any data stack.\n\n## \ud83d\ude85 Quick Start\n\n### Installation\n\nThe recommended method of installing `agentor` is with pip from PyPI.\n\n```bash\npip install agentor\n```\n\n<details>\n <summary>More ways...</summary>\n\n You can also install the latest bleeding edge version (could be unstable) of `agentor`, should you feel motivated enough, as follows:\n \n ```bash\n pip install git+https://github.com/celestoai/agentor@main\n ```\n</details>\n\n\n## Agents API\n\nBuild an Agent, connect external tools or MCP Server and serve as an API in just few lines of code:\n\n```diff\nfrom agentor import Agentor, function_tool\n\n@function_tool\ndef get_weather(city: str):\n \"\"\"Get the weather of city\"\"\"\n return f\"Weather in {city} is sunny\"\n\nagent = Agentor(\n name=\"Weather Agent\",\n model=\"gpt-5-mini\",\n- tools=[get_weather], # Bring your own tool, or\n+ tools=[\"get_weather\"], # 100+ Celesto AI managed tools \u2014 plug-and-play\n)\n\nresult = agent.run(\"What is the weather in London?\") # Run the Agent\nprint(result)\n\n# Serve Agent with a single line of code\n+ agent.serve()\n```\n\nRun the following command to query the Agent server:\n\n```bash\ncurl -X 'POST' \\\n 'http://localhost:8000/chat' \\\n -H 'accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"input\": \"What is the weather in London?\"\n}'\n```\n\n## LiteMCP\n\nLightweight [Model Context Protocol](https://modelcontextprotocol.io) server with FastAPI-like decorators:\n\n```python\nfrom agentor.mcp import LiteMCP\n\napp = LiteMCP(name=\"my-server\", version=\"1.0.0\")\n\n\n@app.tool(description=\"Get weather\")\ndef get_weather(location: str) -> str:\n return f\"Weather in {location}: Sunny, 72\u00b0F\"\n\n\nif __name__ == \"__main__\":\n app.run() # or: uvicorn server:app\n```\n\n### LiteMCP vs FastMCP\n\n**Key Difference:** LiteMCP is a native ASGI app that integrates directly with FastAPI using standard patterns. FastMCP requires mounting as a sub-application, diverging from standard FastAPI primitives.\n\n| Feature | LiteMCP | FastMCP |\n|---------|---------|---------|\n| Integration | Native ASGI | Requires mounting |\n| FastAPI Patterns | \u2705 Standard | \u26a0\ufe0f Diverges |\n| Built-in CORS | \u2705 | \u274c |\n| Custom Methods | \u2705 Full | \u26a0\ufe0f Limited |\n| With Existing Backend | \u2705 Easy | \u26a0\ufe0f Complex |\n\n\ud83d\udcd6 [Learn more](https://docs.celesto.ai/agentor/tools/LiteMCP)\n\n## Agent-to-Agent (A2A) Protocol\n\nThe A2A Protocol defines standard specifications for agent communication and message formatting, enabling seamless interoperability between different AI agents. Agentor provides built-in A2A support, making it effortless to create agents that can discover, communicate, and collaborate with other A2A-compatible agents.\n\n**Key Features:**\n- **Agent Discovery**: Automatic agent card generation at `/.well-known/agent-card.json` describing agent capabilities, skills, and endpoints\n- **Standard Communication**: JSON-RPC based messaging with support for both streaming and non-streaming responses\n- **Rich Interactions**: Built-in support for tasks, status updates, and artifact sharing between agents\n\n**Quick Example:**\n\n```python\nfrom agentor import Agentor\n\nagent = Agentor(\n name=\"Weather Agent\",\n model=\"gpt-5-mini\",\n tools=[\"get_weather\"],\n)\n\n# Serve agent with A2A protocol enabled automatically\nagent.serve(port=8000)\n# Agent card available at: http://localhost:8000/.well-known/agent-card.json\n```\n\nAny agent served with `agent.serve()` automatically becomes A2A-compatible with standardized endpoints for message sending, streaming, and task management.\n\n\ud83d\udcd6 [Learn more](https://docs.celesto.ai/agentor/agent-to-agent)\n\n## \ud83d\ude80 Features\n\n<p>\n \ud83d\udd27 <b>Build with OSS</b> | \n \ud83e\udde1 <a href=\"https://celesto.ai\" target=\"_blank\"><b>Managed Multi-Agent Platform</b></a>\n</p>\n\n| Feature | Description |\n|-----------------------------------------------|-----------------------------------------------|\n| \u2705 Pre-built agents | Ready-to-use tools |\n| \ud83d\udd10 Secure integrations | Email, calendar, CRMs, and more |\n| \ud83d\ude80 LiteMCP | The only **full FastAPI compatible** MCP Server with decorator API |\n| \ud83e\uddbe [A2A Protocol](https://a2a-protocol.org/latest/topics/what-is-a2a/) | [Docs](https://docs.celesto.ai/agentor/agent-to-agent) |\n| \u2601\ufe0f [Easy agent deployment](https://github.com/CelestoAI/agentor/tree/main/examples/agent-server) | `agentor deploy` |\n\n### Managed Tool Hub (ready-to-use collection of tools)\n\nUse Celesto [Tool Hub](https://celesto.ai/toolhub) for a realtime access to weather data and 100+ tools.\n\n```python\nfrom agentor import CelestoSDK\n\nclient = CelestoSDK(CELESTOAI_API_KEY)\n\n# List all available tools\nclient.toolhub.list_tools()\n\n# Run the weather tool for a specific location\nclient.toolhub.run_weather_tool(\"London\")\n\n# Run the Google email tool\nclient.toolhub.run_list_google_emails(limit=5)\n```\n\n## \ud83e\udd1d Contributing\n\nWe'd love your help making Agentor even better! Please read our [Contributing Guidelines](.github/CONTRIBUTING.md) and [Code of Conduct](.github/CODE_OF_CONDUCT.md).\n\n## \ud83d\udcc4 License\n\nApache 2.0 License - see [LICENSE](LICENSE) for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "Fastest way to build, prototype and deploy AI Agents.",
"version": "0.0.8",
"project_urls": null,
"split_keywords": [
"ai",
" agents",
" assistant",
" hyper-personal",
" llms",
" openai"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c231e4ea0c927a67001a3ad97fd338bce51de06aca7121ef8a82af3416ab098b",
"md5": "83e0b7390260140b465103dcd30f6e83",
"sha256": "503cb0895478f24e0f9e07b0649cbaa2d4be6cbb321619e639914b50496ceda2"
},
"downloads": -1,
"filename": "agentor-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "83e0b7390260140b465103dcd30f6e83",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 47324,
"upload_time": "2025-11-04T04:32:36",
"upload_time_iso_8601": "2025-11-04T04:32:36.044582Z",
"url": "https://files.pythonhosted.org/packages/c2/31/e4ea0c927a67001a3ad97fd338bce51de06aca7121ef8a82af3416ab098b/agentor-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e67ca00549d1b9ee0d7becefdb027251da84968806102a6f6c7b56b3b940de61",
"md5": "20d623e552fe000e09037cc9b0f361be",
"sha256": "10cd28f97815a78e570f482f97e05dfd3066fedd34d5251b67ef8104d7532ca8"
},
"downloads": -1,
"filename": "agentor-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "20d623e552fe000e09037cc9b0f361be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3191977,
"upload_time": "2025-11-04T04:32:37",
"upload_time_iso_8601": "2025-11-04T04:32:37.828263Z",
"url": "https://files.pythonhosted.org/packages/e6/7c/a00549d1b9ee0d7becefdb027251da84968806102a6f6c7b56b3b940de61/agentor-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-04 04:32:37",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "agentor"
}