# How to integrate Spondyr MCP with Atomic Agent

```json
{
  "title": "How to integrate Spondyr MCP with Atomic Agent",
  "toolkit": "Spondyr",
  "toolkit_slug": "spondyr",
  "framework": "Atomic Agent",
  "framework_slug": "atomic-agent",
  "url": "https://composio.dev/toolkits/spondyr/framework/atomic-agent",
  "markdown_url": "https://composio.dev/toolkits/spondyr/framework/atomic-agent.md",
  "updated_at": "2026-08-11T13:15:01.007Z"
}
```

## Introduction

Atomic Agent is an open-source AI agent that runs on your machine and supports local models through llama.cpp. Connect it to 1,500+ apps through Composio, including Spondyr.
This guide uses Atomic Agent's built-in Composio integration. You need Atomic Agent v0.5.6 or later, your own Composio API key, and a Spondyr account. See the [Atomic Agent documentation](https://atomicagent.io/docs/?cta_placement=atomic-agent-docs) for installation instructions.

## Also integrate Spondyr with

- [OpenAI Agents SDK](https://composio.dev/toolkits/spondyr/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/spondyr/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/spondyr/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/spondyr/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/spondyr/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/spondyr/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/spondyr/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/spondyr/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/spondyr/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/spondyr/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/spondyr/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/spondyr/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/spondyr/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/spondyr/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/spondyr/framework/autogen)

## TL;DR

### How Atomic Agent connects to Spondyr
Atomic Agent connects to Composio's Tool Router over Streamable HTTP MCP. It discovers the tools needed for your request, and Composio handles account authentication.
Execution and account-connection tools follow Atomic Agent's configured approval policy. Review any approval prompt before allowing an action on your connected account.

## Connect Spondyr to Atomic Agent

### Connect Spondyr to Atomic Agent
- Sign up or sign in to the [Composio dashboard](https://dashboard.composio.dev/?cta_placement=atomic-agent-api-key). Copy your API key.
- In Atomic Agent, open the Integrations tab and select Composio. Select API key, press e, paste the key, and press Enter. The tools become available immediately, without a restart.
- Ask Atomic Agent to do something in Spondyr. It searches Composio for the right tool.
- On first use, open the sign-in link returned in the chat. Connect your Spondyr account, then return to Atomic Agent to continue.
### Headless setup
Add the following line to ~/.atomic-agent/.env, replacing YOUR_COMPOSIO_API_KEY with your key. Start Atomic Agent after saving the file.

```bash
COMPOSIO_API_KEY=YOUR_COMPOSIO_API_KEY
```

## What is the Spondyr MCP server, and what's possible with it?

The Spondyr MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Spondyr account. It provides structured and secure access to your Spondyr templates, transaction types, events, and correspondence workflows, so your agent can perform actions like managing conditions, handling recipients, orchestrating correspondence delivery, and monitoring status updates for your business communications.
- Comprehensive transaction type management: Quickly create, list, or update transaction types—making it easy for your agent to adapt Spondyr to your evolving business data needs.
- Rule-based template selection: Define and manage conditions that control which templates are used for different transaction scenarios, ensuring your communications are always personalized and relevant.
- Automated correspondence delivery and tracking: Have your agent trigger the delivery of generated correspondence and fetch real-time status updates, so you always know when and how your messages are sent.
- Dynamic event and recipient handling: List, retrieve, update, or delete event types and recipient information to keep your communication flows flexible and up-to-date.
- Seamless integration and configuration management: Effortlessly connect, configure, and synchronize your Spondyr settings and workflows—without manual intervention or custom code.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SPONDYR_CONDITIONS_LIST` | List Conditions | Tool to list all conditions for a transaction type. Use when you need to discover existing condition rules before creating templates or generating correspondence. Conditions define criteria for selecting specific templates based on transaction data. |
| `SPONDYR_CREATE_CONDITION` | Create Condition | Create a condition rule for template selection in Spondyr. Conditions define matching criteria on transaction data fields that determine which document template to use. For example, create a condition on an 'OrderStatus' field to trigger different email templates for 'Pending' vs 'Shipped' orders. |
| `SPONDYR_CREATE_TRANSACTION_TYPE` | Create Transaction Type | Tool to create a new transaction type. Use after defining the JSON schema for your data to register it in Spondyr. |
| `SPONDYR_DELIVER_SPONDYR` | Deliver Spondyr correspondence | Trigger delivery of previously generated correspondence to recipients. Use this action after generating correspondence (via POST /Spondyr with IsGenerateOnly=true) to actually deliver the documents via email, fax, mail, or text message. The ReferenceID from the generate request is required to identify which correspondence to deliver. |
| `SPONDYR_EVENT_TYPE_UPDATE` | Update Event Type | Tool to update an existing event type name within a transaction type. Use when you need to rename an Event Type. Example: Rename the 'OrderShipped' event to 'OrderDelivered' within the 'CustomerOrders' transaction type. Note: This only changes the event type's name - it does not move the event to a different transaction type. |
| `SPONDYR_GET_EVENT_TYPES` | List Event Types for Transaction Type | Retrieves all event types associated with a specific transaction type in Spondyr. Event types define the kinds of events that can occur for a transaction type (e.g., "Created", "Updated", "Cancelled" events for an "Order" transaction type). Use this action after retrieving transaction types to discover what event types are available for a given transaction type. This is essential for understanding the event-driven workflows and setting up event-based automation in Spondyr. Returns an empty list if the transaction type exists but has no event types configured. |
| `SPONDYR_GET_SPONDYR_STATUS` | Get Spondyr Status | Tool to retrieve the status of a previously generated correspondence. Use after generating correspondence to check its processing and delivery status. |
| `SPONDYR_GET_TRANSACTION_TYPES` | Get Transaction Types | Tool to retrieve a list of available transaction types. Use after authentication to discover data schemas. |
| `SPONDYR_RECIPIENT_DELETE` | Delete Recipient | Deletes a recipient configuration from a transaction type in Spondyr. Recipients are configured delivery endpoints (email addresses, fax numbers, physical addresses) that determine where correspondence will be sent when a transaction is processed. This action permanently removes a recipient configuration from the specified transaction type. Before deletion, use the 'List Recipients' action to verify the recipient name and transaction type. After successful deletion, the recipient will no longer be available for correspondence delivery. |
| `SPONDYR_RECIPIENT_GET` | Get Recipient | Tool to retrieve details of a specific recipient. Use when you need to fetch recipient configuration for a given transaction type. Example: "Retrieve recipient 'Customer' for transaction type 'OrderPlaced'." |
| `SPONDYR_RECIPIENTS_LIST` | List Recipients | Tool to list all recipients for a transaction type. Use when you need to discover or verify all configured recipients before sending or managing correspondence. |
| `SPONDYR_SEARCH_FILTER_CREATE` | Create Search Filter | Create a new search filter for a transaction type in Spondyr. Search filters enable you to define searchable fields within your transaction data. Once created, these filters allow you to quickly search and retrieve specific transactions based on field values (e.g., search by OrderID, CustomerName, InvoiceNumber). Use this tool when you need to make a specific field searchable within a transaction type. |
| `SPONDYR_SEARCH_FILTER_DELETE` | Delete Search Filter | Deletes a specific search filter from the Spondyr system. Use this when you need to remove a search filter that is no longer needed. Both the filter name and transaction type must exactly match the values used when the filter was created. If the filter does not exist, the API will return an error. |
| `SPONDYR_SEARCH_FILTER_GET` | Get Search Filter | Retrieves details of a specific search filter in Spondyr by name and transaction type. Returns the filter's name, tag value, and associated transaction type. Use this when you need to look up an existing search filter's configuration, verify its tag format, or confirm which transaction type it belongs to before using it for correspondence searches. |
| `SPONDYR_SEARCH_FILTERS_LIST` | List Search Filters | Tool to list all search filters for a transaction type. Use when you need to discover available filters before searching correspondence. |
| `SPONDYR_SEARCH_SPONDYRS` | Search Correspondence | Search for generated correspondence (spondyrs) by multiple criteria including batch ID, event type, and custom search filters. Returns paginated results with delivery status, recipient information, and URIs to access generated documents. Use this to find and retrieve previously generated correspondence. |
| `SPONDYR_SSO_STUB` | Create Spondyr SSO stub | Tool to create a one-time SSO user stub in Spondyr. Use after application authentication to generate a temporary SSO token for embedding or redirecting users. |
| `SPONDYR_TEMPLATE_GET` | Get Template | Retrieve detailed configuration for a specific correspondence template. Returns template content reference ID, event type, recipients, delivery methods, conditions, and search filters. Use this action when you need to: - Inspect template settings and configuration - View recipient delivery methods (Email, Mail, Text, DocuSign, Fax, Destination) - Review template selection conditions and search filters - Get the template content reference ID for correspondence generation Prerequisites: Use 'Get Transaction Types' to discover transaction types, then 'List Templates' to find available template names. Example: Retrieve template 'OrderConfirmationEmail' for transaction type 'CustomerOrder'. |
| `SPONDYR_TEMPLATES_LIST` | List Templates | List all templates configured for a transaction type. Use this to discover available templates before generating correspondence or to audit template configurations. Returns template metadata including name, event type, content type, recipients, conditions, and search filters. Use Get Template action to retrieve full template content and detailed configuration. |
| `SPONDYR_TRANSACTION_TYPE_GET` | Get Transaction Type | Tool to retrieve details of a specific transaction type. Use when inspecting a transaction type schema. Returns the schema definition including JSON structure and CSV field mappings. Example: "Get transaction type 'CustomerOrder' to view its JSON schema and available fields." |
| `SPONDYR_TRANSACTION_TYPE_UPDATE` | Update Transaction Type | Updates an existing transaction type's name and/or JSON schema in Spondyr. Use this tool to: - Modify the JSON schema/template of a transaction type to add, remove, or change data fields - Rename an existing transaction type - Update sample data values in the template Prerequisites: The transaction type must already exist. Use 'Get Transaction Types' to list available types or 'Get Transaction Type' to retrieve the current schema before updating. Example: Update the 'OrderPlaced' transaction type with a new JSON schema that includes customer address fields. |

## Supported Triggers

None listed.

## Troubleshooting

### Why is my API key rejected?

Copy the key directly from the Composio dashboard. Atomic Agent requires ASCII characters because it sends the key in an HTTP header. Remove any extra characters introduced when copying.

### Why are Composio tools unavailable after saving a key?

Check that you use Atomic Agent v0.5.6 or later and that Composio is enabled in your configuration. A "composio": { "enabled": false } setting disables the integration while keeping the saved key on disk.

### Does Composio have a free plan?

The Hobby plan includes 100,000 tool calls per month. Composio-managed OAuth apps have a lower included allowance. See [Composio pricing](/pricing) for the current limits that apply to your connection.

## Complete Code

None listed.

## Conclusion

### Use Spondyr from Atomic Agent
With your account connected, ask Atomic Agent to work with Spondyr in natural language. You can connect more apps through the same Composio integration as you need them.
Visit the [Atomic Agent website](https://atomicagent.io/?cta_placement=atomic-agent-site) or inspect the [Atomic Agent source code](https://github.com/AtomicBot-ai/atomic-agent?cta_placement=atomic-agent-repo).

## How to build Spondyr MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/spondyr/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/spondyr/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/spondyr/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/spondyr/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/spondyr/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/spondyr/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/spondyr/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/spondyr/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/spondyr/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/spondyr/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/spondyr/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/spondyr/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/spondyr/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/spondyr/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/spondyr/framework/autogen)

## Related Toolkits

- [0CodeKit](https://composio.dev/toolkits/0codekit) - 0CodeKit is a utility API platform for AI, document, image, and data workflows. Use it to convert, validate, generate, store, and automate data without custom backend code.
- [Airtop](https://composio.dev/toolkits/airtop) - Airtop is a cloud browser platform for AI-powered web automation. Use it to navigate sites, extract data, and run reusable browser workflows.
- [Apify MCP](https://composio.dev/toolkits/apify_mcp) - Apify MCP is the official MCP server for Apify's web scraping and browser automation platform. Use it to run actors, collect structured web data, and automate crawling workflows.
- [Apilio](https://composio.dev/toolkits/apilio) - Apilio is a home automation platform that lets you connect and control smart devices from different brands. It helps you build flexible automations with complex conditions, schedules, and integrations.
- [Basin](https://composio.dev/toolkits/basin) - Basin is a no-code form backend for quickly setting up reliable contact forms. It lets you collect and manage form submissions without writing any server-side code.
- [Bika.ai](https://composio.dev/toolkits/bika) - Bika.ai is an AI automation database platform for managing spaces, teams, records, automations, and outgoing webhooks. It helps teams organize structured data and automate database-driven workflows in one place.
- [Botster](https://composio.dev/toolkits/botster) - Botster is a web automation service for running configurable data collection bots. Use it to collect structured web data without building and maintaining scrapers yourself.
- [Bouncer](https://composio.dev/toolkits/bouncer) - Bouncer is an email validation platform that verifies the authenticity of email addresses in real-time and batch. It helps boost deliverability and reduce bounce rates for your communications.
- [BrowserAct](https://composio.dev/toolkits/browseract) - BrowserAct is a hosted browser-automation service for running web workflows. Use it to execute repeatable browser tasks with templates, proxies, and APIs.
- [Celigo](https://composio.dev/toolkits/celigo) - Celigo is an integration platform as a service for connecting apps, data, and business workflows. It helps teams automate cross-system processes without building every integration from scratch.
- [CheckFlow](https://composio.dev/toolkits/checkflow) - CheckFlow is a workflow and checklist platform for repeatable processes, tasks, templates, teams, data sets, and automation. Use it to standardize operations, track process execution, and keep teams aligned.
- [Conveyor](https://composio.dev/toolkits/conveyor) - Conveyor is a platform that automates security reviews with a Trust Center and AI-driven questionnaire automation. It streamlines compliance and vendor security processes for faster, hassle-free reviews.
- [Cronfree Time Scheduler](https://composio.dev/toolkits/cronfree_time_scheduler) - Cronfree Time Scheduler is an API-based scheduler for recurring webhook calls. Use it to create and remove timezone-aware schedules without running cron.
- [Crowdin](https://composio.dev/toolkits/crowdin) - Crowdin is a localization management platform that streamlines translation workflows and collaboration. It helps teams centralize multilingual content, boost productivity, and automate translation processes.
- [Databox](https://composio.dev/toolkits/databox) - Databox is a business analytics platform that connects your data from any tool and device. It helps you track KPIs, build dashboards, and discover actionable insights.
- [Detrack](https://composio.dev/toolkits/detrack) - Detrack is a delivery management platform for real-time tracking and proof of delivery. It helps businesses automate notifications and keep customers updated every step of the way.
- [Dify](https://composio.dev/toolkits/dify) - Dify is a platform for running and managing published workflow apps via a Service API. Use it to execute workflows and inspect configuration and run history quickly.
- [Digital Humani](https://composio.dev/toolkits/digital_humani) - Digital Humani is a reforestation API for browsing planting projects, submitting tree requests, and tracking planted trees. It helps teams connect climate action directly to products, campaigns, and customer experiences.
- [Dnsfilter](https://composio.dev/toolkits/dnsfilter) - Dnsfilter is a cloud-based DNS security and content filtering solution. It helps organizations block online threats and manage safe internet access with ease.
- [EnforcedFlow](https://composio.dev/toolkits/enforcedflow) - EnforcedFlow is a work routing platform for advanced round-robin groups, agent criteria, availability, and email assignments. It helps teams distribute work fairly and quickly using configurable assignment rules.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Spondyr MCP?

With a standalone Spondyr MCP server, the agents and LLMs can only access a fixed set of Spondyr tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Spondyr and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Atomic Agent?

Yes, you can. Atomic Agent fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Spondyr tools.

### Can I manage the permissions and scopes for Spondyr while using Tool Router?

Yes, absolutely. You can configure which Spondyr scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Spondyr data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
