Show HN: Built an open-source SDK to simplify tool authentication for AI Agents

1 month ago 6

banner

💻 Try Celesto AI PyPI version Tests Downloads  Apache 2.0

Agentor is an open-source framework that makes it easy to build multi-agent pipelines with secure integrations across email, calendars, CRMs, and more.

It lets you connect LLMs to tools — like Gmail, Google Calendar, and your CRM — securely, in just minutes.

🔧 DIY with OSS   |   🖥️ Try the CelestoAI web interface

Chat with email and calendar

  1. Start chatting with your data:

  2. Ask questions like:

    • "Show me emails from GitHub about security alerts"
    • "What meetings do I have this week?"
    • "Find invoices from Stripe in my Gmail"

Use Agentor using the API in your applications:

from agentor import agents # Simple agent usage result = agents.run_sync( "Find emails from GitHub about security issues", tools=["search_gmail"], max_turns=3 ) print(result) # Advanced usage with specific tools result = agents.run_sync( "What's my schedule conflicts next week?", tools=["list_calendar_events", "search_gmail"], model="gpt-5-mini", # Optional model override )

✅ Pre-built agents with ready-to-use tools
🔐 Secure integrations with email, calendar, CRMs, and more
☁️ Easy agent deployment
🦾 AgentMCP - Tool routing
🧩 OpenAI App SDK for rapid development

Tool Routing with AgentMCP

Adding multiple tools directly to a single Agent can bloat the LLM’s context and degrade performance. Agentor solves this with AgentMCP — a unified interface that aggregates all your tools under one connection to the LLM.

From the model’s perspective, there’s just one tool; AgentMCP automatically routes each request to the appropriate underlying tool based on context.

Secure Tool use with LLMs

You can direcrly use the underlying tools and services without using LLMs such as search through emails and calendar events.

from agentor.integrations.google import GmailService, load_user_credentials # Load your saved credentials creds = load_user_credentials("credentials.my_google_account.json") # Direct tool usage gmail = GmailService(creds) messages = gmail.search_messages(query="from:github.com", limit=10)

🛡️ Your data stays yours:

  • Local credentials - Stored securely on your machine
  • No data collection - We don't see your emails or calendar
  • Open source - Audit the code yourself
  • Standard OAuth - Uses Google's official authentication

🔒 Credential management:

  • Automatic token refresh
  • Secure local storage
  • Per-user isolation
  • Configurable file paths

If you are building an application which is used by multiple public users, it's recommended to authenticate them using OAuth to access their data. For example, you can build a public application which allows users to search through their emails and calendar events.

from agentor.integrations.google import CredentialRecord, UserProviderMetadata, UserInfo # Create from your database/API user_creds = CredentialRecord( access_token="ya29.xxx", user_provider_metadata=UserProviderMetadata( refresh_token="1//xxx", scope=( "openid " "https://www.googleapis.com/auth/gmail.readonly " "https://www.googleapis.com/auth/calendar " "https://www.googleapis.com/auth/calendar.readonly " "https://www.googleapis.com/auth/userinfo.email " "https://www.googleapis.com/auth/userinfo.profile" ), expires_at=1234567890, ), user_info=UserInfo(email="[email protected]", sub="google_user_id"), client_id="your_oauth_client_id", client_secret="your_oauth_secret", ) # Use with any tool gmail = GmailService(user_creds)
Feature Status Description
Gmail Integration Search, read, analyze emails
Google Calendar View events, check availability
Chat Interface Conversational AI with memory
Desktop OAuth One-command authentication
Backend API Programmatic access
Calendar Management Create, update events
Email Actions 🔜 Draft, reply, send emails
Slack Integration 🔜 Team communication
HubSpot Integration 🔜 HubSpot CRM integration
Document AI 🔜 Google Docs, Sheets analysis
Multi-user Support 🔜 Team deployments
Community plugins 🔮 Custom integrations

We'd love your help making Agentor even better! Please read our Contributing Guidelines and Code of Conduct.

Built with love using:

Special thanks to:

  • The open-source community for inspiration and contributions
  • Early beta testers for valuable feedback

Apache 2.0 License - see LICENSE for details.

Read Entire Article