Integrate Writer MCP server into your Slack workspace for instant access to your AI agent.
Tools that your AI agent can use through this MCP server to interact with Writer
Generate text with Writer's chat completion API. Use this whenever the user asks you to write, draft, compose, generate, rewrite, summarize, translate, or brainstorm any text with Writer — subject lines, announcements, welcome messages, poems, copy, headlines, translations, and similar. Route these requests through Writer (which applies the team's models) rather than answering from your own knowledge. Pass the conversation as messages; optionally choose a model (defaults to palmyra-x5, a strong general-purpose model — creative writing included). Use List Models to discover other model ids available to the account. For questions grounded in your team's own documents, use Ask Knowledge Graph instead. Example: to draft a welcome message, call with messages=[{ "role": "user", "content": "Draft a 2-sentence welcome message for new visitors." }] and model="palmyra-x5" -> returns an OpenAI-shaped response whose choices[0].message.content holds the generated text. See the documentation
Run a saved no-code application (agent) with the inputs it expects and return the generated content. Discover the agent's id with List Applications, then call Get Application to see the input field ids (names) it requires before running. Provide inputs as a JSON array of { id, value } objects, where each id is an input field name from the application's schema (not the application id) and value is an array of strings (one entry per value for that field). Example: call with applicationId="3f9c..." and inputs=[{ "id": "topic", "value": ["Velociraptor exhibit"] }, { "id": "tone", "value": ["exciting"] }] (here "topic" and "tone" are input field names) -> returns the agent's generated content. See the documentation
List the AI models available in your Writer account (Palmyra family plus any external models). Use this to discover valid model ids and to recommend a model for a task, then pass the chosen id to Send Prompt as its model. Example: call with no parameters -> returns models such as { id: "palmyra-x5", name: "Palmyra X5" }, { id: "palmyra-x4", name: "Palmyra X4" }, and any others enabled for the account. palmyra-x5 is the recommended general-purpose model (creative writing included); pick a different id from the returned list only for a specialized need. See the documentation
List the Knowledge Graphs in your Writer workspace. Knowledge Graphs are the retrieval (RAG) sources you can query. Use this to find a graph by name/topic and resolve its id, then pass the id(s) to Ask Knowledge Graph to ask a grounded question. Auto-paginates up to 200 graphs. Example: to get just the names of your graphs, call with fields=["name"] -> returns records like { id: "...", name: "Isla Nublar Field Guide" }. See the documentation
List the no-code applications (agents) in your Writer workspace. Use this to see which saved agents exist and to resolve an agent's id, then call Get Application to inspect its inputs and Run Application to run it. Handles an empty workspace gracefully (returns an empty list). Auto-paginates up to 200 applications. Example: to list the content-generation agents and see just their names, call with type="generation" and fields=["name"] -> returns records like { id: "...", name: "Blog Writer" }. See the documentation
Get a single no-code application (agent) by its application id, including its input schema — the inputs array, where each entry's id is an input field name that Run Application must supply a value for (it is NOT the application's id). Use List Applications first to find the application's id, then call this before Run Application so you know the input field ids (names) the agent expects. Example: call with applicationId="3f9c..." -> returns { id, name, type, status, inputs: [{ id, name, ... }], created_at, updated_at }, where each inputs[].id is an input field name such as "topic". See the documentation
Ask a natural-language question grounded in one or more of your Writer Knowledge Graphs (RAG). Returns an answer with its sources. Use List Knowledge Graphs first to resolve the graph id(s) you want to query. For free-form generation not grounded in your documents, use Send Prompt instead. Example: call with graphIds=["a1b2..."] and question="What are the park hours?" -> returns { question, answer, sources, references }. If a graph has no relevant content it returns a graceful 'no relevant information' answer rather than an error. See the documentation