Agentor enables rapid development and deployment of AI agents and MCP tools. Operations teams benefit from serverless production environments. Connects to Python-based workflows and supports Claude agents.
git clone https://github.com/CelestoAI/agentor.gitAgentor is a Python framework for building and deploying long-running AI agents with enterprise-grade durability, observability, and security features. It provides a decorator-based API for creating MCP servers, managing multi-agent communication, and integrating external tools into Claude and other LLM-powered applications. The framework supports rapid agent development through Markdown-based configuration and skill-driven instruction loading, reducing boilerplate while maintaining security through token-based authentication. Agentor includes LiteMCP, a native FastAPI-compatible MCP server implementation that integrates seamlessly with existing backend infrastructure. Operations teams benefit from serverless deployment via the Celesto platform, agent tracing capabilities, and a tool search API that reduces context bloat.
[{"step":"Define the agent's purpose and requirements.","details":"Start by clearly outlining the task the agent will perform (e.g., 'automate data entry from emails') and any specific requirements like error handling or logging needs. Use the prompt template to structure your requirements."},{"step":"Develop the agent using Agentor's Python SDK.","details":"Write the agent's logic using Agentor's Python library. Define MCP tools for each function the agent will perform (e.g., data extraction, routing, summarization). Include error handling and logging as specified in your requirements."},{"step":"Configure the agent for deployment.","details":"Set up the agent's deployment settings (e.g., memory, timeout) and MCP tool configurations. Test the agent locally using Agentor's CLI or Python environment before deploying."},{"step":"Deploy to Agentor's serverless environment.","details":"Use Agentor's deployment command (e.g., `agent.deploy(serverless=True)`) to push the agent to production. Monitor the deployment status and initial performance metrics in the Agentor dashboard."},{"step":"Integrate with your workflow.","details":"Connect the deployed agent to your existing systems (e.g., Claude, Python scripts, or web dashboards) using the provided MCP tool configurations. Test the integration with real data to ensure it meets your requirements."}]
Deploy long-running AI agents with built-in monitoring and durability
Build custom MCP servers with FastAPI-native integration
Create multi-agent systems with agent-to-agent communication protocol
Integrate external tools and skills into Claude-powered workflows
No install command available. Check the GitHub repository for manual installation instructions.
git clone https://github.com/CelestoAI/agentorCopy the install command above and run it in your terminal.
Launch Claude Code, Cursor, or your preferred AI coding agent.
Use the prompt template or examples below to test the skill.
Adapt the skill to your specific use case and workflow.
Use Agentor to create and deploy an AI agent that [TASK_DESCRIPTION]. The agent should [SPECIFIC_REQUIREMENTS, e.g., 'process customer support tickets in real-time', 'generate weekly reports from database queries', or 'automate data entry from emails']. Deploy it to Agentor's serverless environment and provide the MCP tool configuration code for integration with [TARGET_PLATFORM, e.g., Claude, Python scripts, or a web dashboard]. Include error handling for [COMMON_ISSUES, e.g., API rate limits, missing data fields] and logging for [MONITORING_NEEDS, e.g., performance metrics, user activity].
{"agent_specification":{"name":"CustomerSupportTicketProcessor","description":"An AI agent that automatically triages and routes customer support tickets from email and web forms to the appropriate team based on content analysis and priority scoring.","deployment":{"platform":"Agentor Serverless","runtime":"Python 3.11","memory":"1GB","timeout":"300s"},"mcp_tools":[{"name":"ticket_router","description":"Routes tickets to the correct team based on keyword analysis and priority.","parameters":{"ticket_id":"str","content":"str","source":"str (email/web_form)","attachments":"list[str]"},"response":{"team":"str (e.g., 'billing', 'technical_support', 'general_inquiries')","priority":"int (1-5)","assigned_agent":"str (agent name or 'unassigned')","next_steps":"list[str]"}},{"name":"ticket_summarizer","description":"Generates a concise summary of the ticket for the assigned agent.","parameters":{"ticket_id":"str"},"response":{"summary":"str","key_issues":"list[str]","sentiment_score":"float (-1 to 1)"}}],"error_handling":{"rate_limiting":"Retry with exponential backoff for API calls to external services (e.g., CRM, email provider).","missing_data":"Flag tickets with incomplete fields and route to 'general_inquiries' with a note for manual review.","logging":"Log all actions to Agentor's built-in monitoring dashboard with timestamps and agent_id for traceability."}},"deployment_code":{"python":"```python\nfrom agentor import Agent\nimport json\n\n# Initialize the agent\nagent = Agent(\n name=\"CustomerSupportTicketProcessor\",\n description=\"Processes and routes customer support tickets.\",\n mcp_tools=[\"ticket_router\", \"ticket_summarizer\"]\n)\n\n# Define the workflow\[email protected]\ndef process_ticket(ticket_data: dict):\n try:\n # Route the ticket\n router_response = agent.call_tool(\n \"ticket_router\",\n ticket_id=ticket_data['id'],\n content=ticket_data['content'],\n source=ticket_data['source'],\n attachments=ticket_data.get('attachments', [])\n )\n \n # Summarize the ticket\n summary_response = agent.call_tool(\n \"ticket_summarizer\",\n ticket_id=ticket_data['id']\n )\n \n # Log the action\n agent.log_action(\n action=\"ticket_processed\",\n ticket_id=ticket_data['id'],\n team=router_response['team'],\n priority=router_response['priority']\n )\n \n return {\n \"status\": \"success\",\n \"team\": router_response['team'],\n \"priority\": router_response['priority'],\n \"summary\": summary_response['summary']\n }\n except Exception as e:\n agent.log_error(\n error=str(e),\n ticket_id=ticket_data['id']\n )\n return {\"status\": \"error\", \"message\": str(e)}\n\n# Deploy the agent\nagent.deploy(serverless=True)\n```","claude_agent_config":"```json\n{\n \"name\": \"CustomerSupportTicketProcessor\",\n \"description\": \"Processes and routes customer support tickets in real-time.\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"name\": \"ticket_router\",\n \"description\": \"Routes tickets to the correct team based on content analysis.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticket_id\": {\"type\": \"string\"},\n \"content\": {\"type\": \"string\"},\n \"source\": {\"type\": \"string\"},\n \"attachments\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}}\n },\n \"required\": [\"ticket_id\", \"content\", \"source\"]\n }\n },\n {\n \"type\": \"function\",\n \"name\": \"ticket_summarizer\",\n \"description\": \"Generates a summary of the ticket for the assigned agent.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticket_id\": {\"type\": \"string\"}\n },\n \"required\": [\"ticket_id\"]\n }\n }\n ],\n \"serverless\": true\n}\n```"},"monitoring_output":{"deployed_at":"2024-05-20T14:30:00Z","status":"active","metrics":{"tickets_processed_last_24h":427,"avg_processing_time":"12.4s","teams_routed_to":{"technical_support":215,"billing":112,"general_inquiries":100},"errors":3,"error_types":{"rate_limiting":1,"missing_data":2}}}}Auto-transcribe meetings and generate action items
Get more done every day with Microsoft Teams – powered by AI
Automate security compliance and monitor real-time security posture seamlessly.
Automate your spreadsheet tasks with AI power
Agentic AI Workflow platform
Connected workspace for docs, wikis, and projects
Take a free 3-minute scan and get personalized AI skill recommendations.
Take free scan