Revaal MCP server
Revaal has an MCP server, which means apps like Claude can connect straight to your workflows — see them and run them — without your password ever being stored anywhere.
How to connect#
Which app are you using?
Copy the server address
This one line is how an app reaches Revaal. If there is a ready-made config below, this address is already inside it.
https://mcp.revaal.app/api/mcpOpen Connectors in Claude
In the desktop app or on claude.ai, go to Settings and then Connectors. Click Add custom connector, paste the address and confirm.
Open ClaudeSign in and approve
The app sends you to Revaal to sign in and to see what it is asking for. You can grant read access only and withhold the permission to run.
Claude calls these Connectors, not MCP. If you went looking for a section named MCP and could not find one, Connectors is it.
If you are working with OpenAI's own API#
Add the server to your request as a tool:
{
"type": "mcp",
"server_label": "revaal",
"server_url": "https://mcp.revaal.app/api/mcp",
"authorization": "<ACCESS_TOKEN>",
"require_approval": "always"
}This is the developer path, not the everyday one. ACCESS_TOKEN has to be a token obtained through the same sign-in flow; the API does not run that flow itself. If you don't have one, connect using one of the ways above.
Permissions#
workflows:readList your workflows, describe each one, read outputs, and search the knowledge base. Changes nothing and costs nothing.
workflows:writeChange a step's settings — prompt, model, creativity and the rest — and publish a new version. A step's tools are not changed this way; they have a permission of their own. This permission costs nothing but alters the workflow permanently, so grant it only to an app you trust.
workflows:graphBuild a new step, remove one, and change how the steps are wired together. Kept apart from Change because that one decides what a step does and this one decides whether it is there at all — removing a step takes its prompt and its settings with it. What makes that survivable is that it only touches the draft: your last published version is untouched, and restoring it brings the removed steps back. A workflow's Start step can never be removed this way.
workflows:toolsAttach or change a step's tools — which Telegram channel, WordPress site or Google account a workflow reaches. No password or token travels this way; the app can only point at connections you already made yourself. Kept apart from Change because it alters what a workflow reaches outside Revaal rather than what it says. On a workflow you have shared with someone, this needs you to be a manager of it, not just an editor.
workflows:runStart a workflow run. It spends the workflow owner's credit, and if the workflow is connected to Telegram, WordPress, X or Instagram, it really publishes. Grant this only to an app you trust.
cowork:readList your agents and read one's whole configuration: master prompt, model, tools, skills, permissions, schedule, memory, files and versions. Changes nothing and costs nothing. Credentials are never sent.
cowork:writeCreate an agent, and change any part of an existing one: its master prompt, its model and the dials on it, its tools, the accounts they use and what each may do without asking, its skills and their files, its subagents, its boards, its documents and brand assets, its memory, the files in its folder, its schedule, and committing and restoring its versions. Kept apart from the workflow permissions because those rewrite a board and this rewrites a colleague. Talking to an agent is not in here: none of these tools hold a turn, so none of them spend credit — and switching an agent's unattended runs on also needs permission to run workflows.
Tools#
What a connected app can do:
list_workspacesThe workspaces you can stand in, and your role in each. Every board lives in one workspace, and running it spends that workspace’s credit — so read this before creating a board.
list_workflowsList the workflows you can see.
get_workflow_outlineThe shape of one workflow: its steps in order and what each does.
get_node_settingsOne step's full configuration — what you see in its side panel: the prompt text, the model and its backups, creativity and token cap, web search, the speaking voice, knowledge and brand kit, and its tools. Credentials are never sent.
update_node_settingschanges the boardChange one step's settings — only the fields you send. Saved to the draft, not to the published version.
list_tool_connectionschanges its toolsLists the connections you already set up — WordPress sites, Telegram channels, Google accounts. No credentials in it.
set_node_toolchanges its toolsAttach or change a step's tool: which built-in, which of its actions are on, and which permissions it has. No credential travels this way; the app can only point at one of your own connections.
remove_node_toolchanges its toolsTake one tool off a step. A step whose tool IS the step is left blank instead, and will not run until a tool is set again.
create_workflowchanges its structureCreate a new, empty workflow in your workspace, with its Start step already in place.
apply_workflow_specchanges the boardchanges its structureBuild a whole workflow in one call — every step, how they are wired, and what each one does. It replaces whatever was on the board; if the board has any real steps, they are frozen as a version first so they can be restored. Tools attached this way arrive with no permission to publish or send.
add_nodechanges its structureAdd a new step after one that already exists. The new step joins the chain of work, and can arrive with its prompt and model already set.
delete_nodechanges its structureRemove a step, along with every wire into and out of it. Its prompt and settings go too; your last published version is untouched.
connect_nodeschanges its structureDraw the arrow between two steps that are both already on the board — which step runs after which. On a Condition it has to say which branch, Yes or No.
disconnect_nodeschanges its structureRemove the arrow between two steps. Both steps stay where they are, but the one on the receiving end no longer runs unless something else reaches it.
get_data_sourceRead where a workflow's work comes from — news, a file, or an API address — and whether it is configured at all. No password or token is returned; only whether one is set.
set_data_sourcechanges the boardChange where the work comes from, and configure an API address. Passwords and headers do not travel this way; you fill those in Revaal yourself. If the address changes, the stored token and headers are cleared and have to be entered again.
list_news_sourcesList the news sources Revaal collects, marked with which ones feed this workflow and which are being collected at all.
select_news_sourceschanges the boardAdd or remove a news source for this workflow. Removing one only takes it off this workflow; Revaal goes on collecting it.
publish_versionchanges the boardFreeze the current draft as a new version, with a release note. The model name is stamped on automatically.
list_run_inputsThe items a workflow can be run against right now.
list_outputsWhat a workflow has produced so far, newest first.
get_outputThe full text of one output, with its images, audio and video.
get_run_stepRead one step of a run in full: the prompt that actually went to the model, the text it was given, and everything it produced. When an output is wrong, this is where you find out why.
get_scheduleRead whether a workflow runs itself, how many minutes apart, whether it is held, when it last ran and when it is due next.
set_schedulechanges the boardChange the automatic runs — cadence, batch size, a temporary hold. Turning it on also needs permission to run workflows, because it means credit is spent from then on; slowing it down or turning it off does not.
list_versionsList a workflow's published versions. Automatic runs go from the newest of these, not from the draft.
get_version_changesCompare two points in a workflow's history: which steps were added or removed and what settings changed. Leave the second one out to compare against the current draft.
query_knowledgeSemantic search over a workflow's knowledge base.
run_workflowspends creditStart a workflow run over the given inputs.
get_run_statusThe status of a run that is in progress right now.
list_agentsList the agents you can see. Agents do not appear in the workflow list.
get_agentRead one agent's whole configuration: master prompt, model, tools, permissions, skills, subagents, boards, documents, brand assets, memory, its schedule and unattended-run message, and whether unattended runs read the draft or the last version. Skill bodies are not included — the next tool opens one. Credentials are never sent.
get_agent_skillRead one skill whole: the instructions it carries and the files beside it.
list_agent_sessionsList one agent’s conversations, newest first: the title and summary it gave each, whether one is waiting on a card or a question, and when it started and last moved.
get_agent_sessionRead one of an agent’s conversations as it happened: every line, every tool it called with the arguments and the answer, and for a handover which colleague answered, on which model, and what it did. The tool for «what went wrong in this chat».
create_agentConfigures an agentCreate a new agent («همکار») in one of the workspaces: a colleague somebody holds a conversation with, as opposed to a board that runs. It is born with a model, a name, and the master prompt that makes it what it is if one is given. Tools, skills and the colleagues it hands work to are added afterwards, each by its own tool.
update_agentConfigures an agentChange the agent settings that are a single value rather than a list: name and description, model and the dials on it, master prompt, the capability switches, memory, documents, brand assets, group, its schedule and unattended-run message, and what happens to a tool with no rule of its own. Only what you send changes. Switching unattended runs on also needs permission to run workflows.
attach_agent_toolConfigures an agentGive the agent one of the product's tools, or change which of that tool's actions it may take. Its other tools are untouched and a stored credential is preserved; a connection already set up on a board or another agent can be reused.
detach_agent_toolConfigures an agentTake one tool away from the agent. The stored credential on that row goes with it.
set_agent_tool_permissionConfigures an agentDecide whether one action of one tool runs on its own, asks first, or is refused. Every other rule is left as it is.
write_agent_skillConfigures an agentWrite or rewrite one of the agent's skills — a named procedure it loads only when that procedure applies — and the files beside it. Reusing a name rewrites that skill.
delete_agent_skillConfigures an agentDrop one of the agent's skills by name.
add_agent_subagentConfigures an agentLet one agent hand work to another agent of the same workspace.
remove_agent_subagentConfigures an agentStop an agent delegating to one colleague. The colleague itself is untouched.
attach_agent_boardConfigures an agentGive the agent one of the workspace's boards, so it can run it and read what it produced.
detach_agent_boardConfigures an agentGive up one of the agent's boards. The board itself is not changed and not deleted.
list_agent_resourcesList what the agent's workspace can give it, with ids: library documents, brand assets, accounts connected such as Google or Slack, and tool connections set up on a board or another agent. No credential is ever sent.
get_agent_memoryRead the agent's memory.md — the notes it keeps across conversations and reads in every one.
write_agent_memoryConfigures an agentRewrite the agent's memory.md whole. Anything left out is gone; an empty text empties it.
list_agent_filesList the files in the agent's own folder, with id, path and size. Never the contents.
read_agent_fileRead one file of the agent's folder by id or path; long text comes a page at a time.
write_agent_fileConfigures an agentWrite a text file (md, txt, csv, json, html) into the agent's folder, replacing one at the same path.
delete_agent_fileConfigures an agentDelete one file from the agent's folder. There is no undo.
list_agent_versionsList the agent's committed versions, what each changed, and what the draft has changed since the last one.
publish_agent_versionConfigures an agentCommit the agent's current draft as a new version, with a title.
restore_agent_versionConfigures an agentPut the agent's draft back to a committed version, schedule included. Stored credentials and files are untouched.
set_agent_automationConfigures an agentChoose whether the agent's unattended runs read the draft or the last committed version.
A few security notes#
- Your password is never given to the app. It only receives a token, which you can revoke at any moment.
- The name an app declares for itself is not verified. On the consent screen, look at the destination address — that one cannot be forged.
- An app can only reach the workflows you can reach yourself; never more.
- An access token lasts one hour and refreshes itself. Disconnecting kills all of them immediately.
If it does not work#
The app says the server was not found
Check the address again; it must be exactly what is written above, ending in /api/mcp.
After signing in it returns to the sign-in page
Allow browser cookies for Revaal, or sign in once in that same browser and try again.
The run tool does not work
You most likely withheld the run permission when approving. Disconnect it from Connections, connect again, and grant the run permission this time.