# How to integrate ProductNow MCP with Atomic Agent

```json
{
  "title": "How to integrate ProductNow MCP with Atomic Agent",
  "toolkit": "ProductNow MCP",
  "toolkit_slug": "productnow_mcp",
  "framework": "Atomic Agent",
  "framework_slug": "atomic-agent",
  "url": "https://composio.dev/toolkits/productnow_mcp/framework/atomic-agent",
  "markdown_url": "https://composio.dev/toolkits/productnow_mcp/framework/atomic-agent.md",
  "updated_at": "2026-10-23T05:34:25.368Z"
}
```

## 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 ProductNow.
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 ProductNow account. See the [Atomic Agent documentation](https://atomicagent.io/docs/?cta_placement=atomic-agent-docs) for installation instructions.

## Also integrate ProductNow MCP with

- [ChatGPT](https://composio.dev/toolkits/productnow_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/productnow_mcp/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/productnow_mcp/framework/hermes-agent)

## TL;DR

### How Atomic Agent connects to ProductNow
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 ProductNow MCP to Atomic Agent

### Connect ProductNow 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 ProductNow. It searches Composio for the right tool.
- On first use, open the sign-in link returned in the chat. Connect your ProductNow 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 ProductNow MCP server, and what's possible with it?

The ProductNow MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your ProductNow account. It provides structured and secure access to your company's shared context, documents, folders, versions, comments, and media, so your agent can search company information, create and edit documents, organize folders and files, manage document status and feedback, and upload media on your behalf.
- Company context search: Have your agent search shared documents, decisions, meeting notes, and synced company information, then return relevant excerpts with citations.
- Document creation and editing: Direct your agent to create new documents with AI-generated content, edit existing documents, check editing status, and read documents you already have access to.
- Document organization: Let the agent create folders when needed, move documents or folders, rename them, and archive items that are no longer active.
- Review and version management: Instruct your agent to change document lifecycle status, add comments, reply to comment threads, and list earlier document versions when you need to understand what changed.
- Company knowledge and media updates: Have your agent remember important information about your company, products, customers, or team, and upload image or video files to ProductNow storage.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `PRODUCTNOW_MCP_ARCHIVE` | Archive | Put documents or folders away, including several at once. Pass ids, a mix of document ids and folder ids. Archiving a folder also archives the contents that user can manage. Archived items leave listings and search; nothing is deleted. Not move, and not a content edit — use edit_document to change content. Ids that are not a document or folder here come back in unresolvedIds. Ids the user cannot archive come back in permissionDeniedIds; the rest are still archived. |
| `PRODUCTNOW_MCP_COMMENT_ON_DOCUMENT` | Comment on document | Leave feedback on a document that is in review. Not an edit — use edit_document to change the document, and reply_to_thread to answer an existing comment. Pass documentId; this comments on the current review version and says so when there is none. Posted as the user's personal agent. |
| `PRODUCTNOW_MCP_CREATE_DOCUMENT` | Create document | Create a NEW ProductNow document and generate its content with AI. Use this to persist knowledge the user wants remembered or shared across sessions and teammates — decisions, specs, RFCs, plans, meeting outcomes. Search with search first so you don't duplicate an existing document; to change an existing document use edit_document instead. File the document in an existing folder. Search results include each document's folderId; pass the folderId of the closest related document. If search does not show a fit, fetch_folder the root and walk folders until you have a folderId. Leave folderId off only when the user explicitly asked for the warehouse root. If no folder fits, call create_folder under the closest existing folder and pass that new folderId. Content is generated from `prompt` (the full outline: numbered sections, their titles, and what each should say) and `context` (verbatim source material the user supplied or explicitly authorized for this ProductNow document). Generation paraphrases: if exact wording must survive, put it in `context` and say so in `prompt`. Pass `templateId` only when you already have one. Returns the documentId and URL; generation continues after the call returns. |
| `PRODUCTNOW_MCP_CREATE_FOLDER` | Create folder | Create a NEW folder only when no existing folder fits. Search with search and resultType folders first so you don't duplicate a folder; if that is not enough, fetch_folder the root and walk until you find the closest related folder. Nest under that folder by passing its id as parentFolderId. Omit parentFolderId only when the user explicitly asked for a root-level folder. Returns the new folder's id and name. |
| `PRODUCTNOW_MCP_EDIT_DOCUMENT` | Edit document | Edit an existing ProductNow document. This is the only tool that changes a document's content. It does not apply your edit directly: it hands `message` to the document's own editing agent, which reads the document and makes the change. Write `message` as instructions to that agent, not as the new document text. Name the section, say exactly what to add, replace, or remove, and quote text verbatim when the wording must be preserved. Include everything the agent needs, since it cannot see this conversation and will not ask follow-up questions. Returns before the edit finishes; poll get_status until status is idle (it stays running while any edit you sent is queued or in progress), then read the document to confirm the result. Do not use create_document — that creates a new document. Do not use rename — that only changes a name. Do not use reply_to_thread — that only adds discussion and never changes content. |
| `PRODUCTNOW_MCP_FETCH` | Fetch | Read one document you already have an id for. Pass documentId. The result includes the document's id, title, url, and full text, plus its sections, comment threads, and each comment's id. When the document is filed in a folder, the result includes that folder's folderId and folderName. Omit documentVersionId to read the latest draft; pass one to read that version and its comments. Version ids come from list_document_versions. Not a search — use search for a question or a topic. Not a folder listing — use fetch_folder to list a folder or the warehouse root. |
| `PRODUCTNOW_MCP_FETCH_FOLDER` | Fetch folder | List a folder you already have an id for, or the warehouse root. Pass folderId to list that folder's name, an optional parentFolderId to fetch and go up, and its direct contents. Each child folder and document includes its id, name, updatedAt, createdBy, and isPrivate. Each folder also includes contentCount, its direct documents plus subfolders, and subfolderCount, its direct child folders. Each document also includes its status: DRAFT, REVIEW, or PUBLISHED. A child folder also includes parentFolderId when it is nested, including a shared folder that shows up in the root listing but lives somewhere else; parentFolderId is omitted for a true top-level folder. Pass deep true with a folderId to return that folder and every nested folder as a tree, up to 15 levels, with each folder's documents inside it. deep is rejected for the warehouse root. Omit folderId to list the root one level: the top-level folders plus shared folders this user can see, not the whole warehouse and not other people's private folders. Not a search — use search to find a folder by name. Not a document read — use fetch to read a document. |
| `PRODUCTNOW_MCP_GET_STATUS` | Get status | After edit_document or create_document, check whether the document is still being edited or the edits have finished. Pass documentId. Returns running or idle, and a short note of what the draft agent last did. Use it to poll: after sending one or more edits to the same document, call get_status until status is idle, then fetch the document to confirm the result. Edits queue behind each other, so idle means every edit sent so far has finished, not just the latest one. running means at least one edit is still queued or in progress. Not the chat transcript, and not a way to edit — use edit_document to change the document. |
| `PRODUCTNOW_MCP_LIST_DOCUMENT_VERSIONS` | List document versions | List every version of a document when the user asks what changed, or you need an older version before calling fetch. Pass documentId. Returns each version's id, version number, status, and when it was created, newest first. Pass a returned documentVersionId to fetch with the documentId to read that version and its comments. Omit it and fetch reads the latest draft. |
| `PRODUCTNOW_MCP_MOVE` | Move | Move documents or folders into another folder, including several at once. Pass ids, a mix of document ids and folder ids, plus one parentFolderId. Omit parentFolderId to file everything at the root. Does not change document content — use edit_document for that. Moves every id it can. Ids the user cannot move come back in permissionDeniedIds. A folder moved into itself or into one of its descendants comes back in refusedIds and stays where it is. Ids that are not a document or folder here come back in unresolvedIds. The rest are still moved. |
| `PRODUCTNOW_MCP_REMEMBER` | Remember | Store one piece of information in ProductNow when the user says 'remember this', 'save this', or 'note that…' about their company, product, customers, or team. Pass the fact as `content`; ProductNow decides where it belongs — it searches the warehouse, edits the existing document that covers the topic, or creates a new one in the right folder. ProductNow handles search, folder selection, and document choice within the background job, so separate search, fetch, or placement is not needed. Returns success immediately; a success response means the job was queued and processing continues in the background. Polling is not supported. Use edit_document or create_document instead only when the user already named the exact document or outlined a whole new document. |
| `PRODUCTNOW_MCP_RENAME` | Rename | Change a document or folder's name. Pass one id — a document id or a folder id — and name. Changes the name only. Does not change document content; that is edit_document. One item per call, because each item gets its own name. |
| `PRODUCTNOW_MCP_REPLY_TO_THREAD` | Reply to thread | Reply to an existing comment thread on a document, posted as the user's personal agent. Not an edit — use edit_document to change the document's content. Pass threadId from a document fetch. |
| `PRODUCTNOW_MCP_SEARCH` | Search | Search the company's shared context — its intranet of documents, decisions, meeting notes, and synced systems — and return excerpts relevant to the user's question, with citations. Every source carries the document's id, title, and url; pass the id to fetch for the full text. Use this when the user's request depends on current information about their company, product, customers, team, or enterprise intranet. Covers ProductNow documents (PRDs, specs, RFCs, decisions) plus content synced from whichever sources the workspace has connected, e.g. GitHub, Jira, Linear, Salesforce, ServiceNow, Zendesk, Slack, Teams, Confluence, Notion, Google Drive, and meeting notes. Not for reading a known document in full (fetch) or listing a folder (fetch_folder). To find a folder by name, pass resultType folders. Pass query whenever the user names a topic, including when filters are also present. If the user asks only which documents match creator/date filters and names no topic, omit query to list documents by latest content edit; listing sources contain metadata but no excerpts. creatorNames matches document creators, not editors or contributors; its entries combine with OR, while creator and date filters combine with AND. Search workspace documents by default; use product_help only for questions about how ProductNow works. Pass folderId to limit workspace search to that folder and every folder nested under it; no results come from outside it. Omit folderId to search the whole workspace. Resolve the id with fetch_folder first. Ignored when searchScope is product_help. Pass resultType folders to search folder names instead of documents. Omit resultType to search documents. Folder results are name matches and include each folder's id, name, updatedAt, createdBy, isPrivate, parentFolderId when nested, and folderPath (the parent path) when it has a parent. They have no excerpts. A query is required. creatorNames and date filters apply to documents only. product_help cannot search folders. Topic-search results are relevance-filtered; all result sets are capped. Each source includes the document's folderId and folderPath when it is filed in a folder, and omits both when the document is at the warehouse root. Answer from the excerpts when possible, cite the documents you use, read a source document with `fetch` only when its excerpts are genuinely insufficient, and state uncertainty when evidence is weak or conflicting. |
| `PRODUCTNOW_MCP_UPDATE_DOCUMENT_STATUS` | Update document status | Change a document's lifecycle when the user wants a snapshot, a review, or to publish. Pass documentId and status as an action verb — snapshot, review, or publish — not a version status. snapshot saves a read-only copy of the current draft, review opens that draft for comments, and publish makes it the published version. Each one leaves a fresh draft for later edits. Returns previousStatus and status as version statuses such as DRAFT, SNAPSHOT, REVIEW, or PUBLISHED, the same values list_document_versions filters on. Not move, which files documents and folders into a folder, and not a way to check whether an edit is still running. |
| `PRODUCTNOW_MCP_UPLOAD_MEDIA` | Upload media | Upload a media file (image or video) to ProductNow storage. Returns a signed backend `uploadUrl` valid for 5 minutes for transfer of the user-selected file. Also returns a `url` and `htmlText` you can embed in documents immediately. |

## 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 ProductNow from Atomic Agent
With your account connected, ask Atomic Agent to work with ProductNow 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 ProductNow MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/productnow_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/productnow_mcp/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/productnow_mcp/framework/hermes-agent)

## Related Toolkits

- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [ActiveMerge](https://composio.dev/toolkits/active_merge) - ActiveMerge is a document automation platform for generating documents, images, merged files, and e-signature workflows. It helps teams turn templates and stored files into finished, shareable documents faster.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Airparser](https://composio.dev/toolkits/airparser) - Airparser is an AI-powered parser for extracting structured data from emails, documents, PDFs, and files. It turns messy inbound content into clean fields your apps and workflows can use.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Api2pdf](https://composio.dev/toolkits/api2pdf) - Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.
- [Archive.org](https://composio.dev/toolkits/archive_org) - Archive.org is the Internet Archive's digital library of websites, books, audio, video, and images. Use it to preserve, explore, and access historical web captures and public-domain media.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Box](https://composio.dev/toolkits/box) - Box is a cloud content management and file sharing platform for businesses. It helps teams securely store, organize, and collaborate on files from anywhere.
- [Box MCP](https://composio.dev/toolkits/box_mcp) - Box MCP is Box's hosted MCP server that exposes enterprise files, folders, and metadata. It provides secure, centralized access to corporate content for search and management.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [CertSeal](https://composio.dev/toolkits/cert_seal) - CertSeal is an API platform for issuing and managing verifiable digital certificates. Use it to automate trusted certificate workflows for recipients, batches, designs, and webhooks.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.

## Frequently Asked Questions

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

With a standalone ProductNow MCP server, the agents and LLMs can only access a fixed set of ProductNow tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from ProductNow 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 ProductNow tools.

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

Yes, absolutely. You can configure which ProductNow 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 ProductNow data and credentials are handled as safely as possible.

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