ScriptFlow MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ScriptFlow MCP Serverlist all scripts tagged 'automation'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ScriptFlow MCP Server
ScriptFlow is a script workflow management system built on the Model Context Protocol (MCP). It transforms complex, repetitive AI interactions into persistent, executable scripts that can be managed, version-controlled, and reused across sessions.
Why ScriptFlow?
Transform Workflows into Scripts: Convert successful AI interactions into reusable, executable scripts
Save Time & Tokens: Execute complex tasks instantly instead of repeating long conversations
Guaranteed Consistency: Scripts run the same way every time, eliminating AI randomness
Powerful Management: Search, organize, edit, and version your automation library
Team Collaboration: Share proven workflows across your organization
Related MCP server: RelayPlane
Features
Add/Edit/Remove scripts with metadata
List/Search scripts by name, description, or tags
Execute scripts with arguments
Multi-language support (Bash, Python, Node.js, TypeScript)
Setup
Add to your MCP client config (e.g., Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"scriptflow": {
"command": "npx",
"args": ["scriptflow-mcp"],
"env": {
"SCRIPTFLOW_SCRIPTS_DIR": "/your/custom/path"
}
}
}
}Environment Variables:
SCRIPTFLOW_SCRIPTS_DIR: Scripts directory (default:/tmp/scriptflow-mcp/scripts)SCRIPTFLOW_TIMEOUT: Execution timeout in ms (default:30000)
Available Tools
script_add- Add new script (name, description, content, language, tags)script_edit- Update existing scriptscript_get- View script detailsscript_list- Search/filter scriptsscript_run- Execute script with argumentsscript_rm- Remove script
Quick Example
// Add script
{"name": "hello", "description": "Hello script", "content": "echo 'Hello!'"}
// Run script
{"name": "hello", "args": ["World"]}
// List scripts
{"search": "hello"}Storage
Scripts stored as {name}.{ext} + {name}.json metadata files.
Supports: Bash (.sh), Python (.py), JavaScript (.js), TypeScript (.ts)
Testing
# Run tests
npm test
# Test with MCP Inspector
npx @modelcontextprotocol/inspector npx scriptflow-mcpAvailable Tools
6 toolsscript_addB
Add a new script to the repository
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Script name (without extension) | |
| tags | No | Optional tags for categorization | |
| content | Yes | Script content/code | |
| language | No | Programming language (bash, python, node, etc.) | bash |
| parameters | No | Optional parameter descriptions | |
| description | Yes | Description of what the script does |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not explain what happens if a script with the same name already exists (e.g., overwrite, error), whether the operation is idempotent, or what the response contains. It also does not disclose any side effects (e.g., file system writes, repository updates).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is clear and economical. It lacks wasted words, though it is so minimal that it could have been expanded slightly to include behavioral or usage cues without hurting conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters but no output schema and no annotations. The description does not explain return values, error conditions, or naming conventions. For a creation operation, key details like duplicate handling and permissions are missing. The description only covers the basic purpose, leaving significant contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides rich descriptions for all 6 parameters (100% coverage), so the description does not need to add parameter detail. However, the description also does not add any extra context or relationships between parameters beyond what the schema states, keeping it at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and the resource ('a new script to the repository'). This unambiguously distinguishes it from sibling tools like script_list, script_run, script_edit, script_rm, and script_get, which cover viewing, executing, modifying, and deleting scripts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it should be used for creating new scripts, or when not to use it (e.g., when editing an existing script with script_edit). The intended usage is only implied by the verb 'Add'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_editB
Edit an existing script
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the script to edit | |
| tags | No | Updated tags for categorization | |
| content | No | Updated script content/code | |
| language | No | Updated programming language | |
| parameters | No | Updated parameter descriptions | |
| description | No | Updated description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It merely states the verb 'edit' without explaining side effects, whether it performs a full or partial update, error handling, or permissions. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler. It is appropriately short and front-loaded, wasting no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having a complete schema, the tool lacks annotations and an output schema, and the description is minimal. It does not convey critical context such as whether editing replaces or merges fields, whether the script must exist, or what the tool returns. For a 6-parameter mutation tool, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes all six parameters with clear descriptions (e.g., 'Updated tags for categorization'), so the description does not need to repeat them. However, the description adds no additional semantic context beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Edit an existing script' clearly defines the action (edit) and the resource (script), and the word 'existing' distinguishes it from creation tools like script_add. This is a specific and unambiguous statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus script_add, script_get, or other siblings. There is no mention of prerequisites, conditions, or exclusions, leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_getB
Get detailed information about a specific script
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the script to get details for | |
| include_content | No | Whether to include the script content in the response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It indicates a read operation ('Get') but does not state whether the tool is read-only, what happens if the script does not exist, or what 'detailed information' entails. The include_content parameter suggests content may be returned, but this is not explained in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that directly states the tool's purpose. It contains no superfluous information and is easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with two parameters and no output schema, the description covers the essential purpose but lacks details about the return value, error behavior, or the distinction between metadata and content. Given the tool's simplicity, the description is minimally adequate but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage: 'name' is clearly described as the script name, and 'include_content' is defined as whether to include script content. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get detailed information about a specific script' clearly identifies the action (get) and the resource (specific script), which differentiates it from sibling tools like script_list (list all scripts) or script_run (execute). It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or relationships to sibling tools. Usage is only implied by the word 'specific', which suggests it is for retrieving details on one script, but this is not clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_listC
List and discover available scripts
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Optional tag to filter scripts | |
| search | No | Optional search term to filter scripts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'List and discover available scripts' without disclosing read-only nature, output format, pagination, or any side effects. It adds no behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but 'List and discover' is mildly redundant. It is a single sentence with no unnecessary detail, yet it omits useful information that could be included without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description should at least mention what the returned list contains or how it complements script_get. It lacks any indication of return value structure, workspace scope, or usage flow, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both 'tag' and 'search' parameters are fully documented in the input schema with descriptions, so the baseline is 3. The description adds no additional semantic detail about how filters interact with the list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function as listing/discovering scripts, using specific verbs 'list' and 'discover' on the 'scripts' resource. It differentiates from siblings like script_add/rm/run by operation type, though it does not explicitly reference alternatives, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus script_get or whether to combine with tag/search filters. The description lacks any contextual cues or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_rmB
Remove a script from the repository
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the script to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It does not mention whether removal is permanent, whether it affects file system or version history, or any permissions needed. For a destructive operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence: 'Remove a script from the repository'. It is appropriately sized for the tool's simplicity, contains no redundancy, and is immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a mutation with no annotations and no output schema. The description only states the action, but does not explain consequences (e.g., permanence, error behavior if script does not exist, or administrative requirements). The description is too sparse to fully inform an agent about the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes the 'name' parameter as 'Name of the script to remove', and the schema coverage is 100%. The tool description does not add any additional meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Remove' with a clear resource 'script from the repository', and it distinguishes itself from sibling tools like script_add, script_list, script_run, script_edit, and script_get by clearly indicating the delete operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. The description only states what the tool does, not when to choose it over sibling tools. The existence of sibling tools is implied but not explicitly contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_runC
Execute a script by name
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Optional arguments to pass to the script | |
| name | Yes | Name of the script to run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of disclosing behavior. It only says 'Execute a script by name' and does not explain what execution entails (e.g., return values, async behavior, side effects, error handling), leaving the agent to guess.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is ultra-short but under-specified. It is a fragment rather than a complete sentence and lacks essential context, making it more under-specification than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and only a two-parameter schema, the description should provide more behavioral and usage context. It does not explain what result the agent can expect or any side effects, making it incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no significant meaning beyond the schema; it only restates that the script is identified by name, while the schema already documents both parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Execute') on a specific resource ('script') with the key selector ('by name'). This clearly distinguishes it from sibling tools like script_add, script_list, and script_rm, which perform other CRUD-like operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention that this is for running a script as opposed to adding, listing, editing, or removing one, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.2- First observed
script_add - First observed
script_edit - First observed
script_get - First observed
script_list - First observed
script_rm - First observed
script_run
TDQS
Each tool maps to a distinct action on scripts: add, list, run, edit, rm, and get. There is no overlap or ambiguity between them.
All tools follow the consistent pattern 'script_' followed by a clear verb (add, list, run, edit, rm, get). This creates a predictable and intuitive naming scheme.
With 6 tools, the set is well-scoped for managing scripts. Each tool serves a necessary function without unnecessary bloat or gaps.
The toolset covers the full lifecycle of scripts: create (add), read (get, list), update (edit), delete (rm), and execution (run). No obvious missing operations for the stated domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Design, save, and run outcome-aligned AI workflows and verifiers, with reliable image output.
AI memory layer — one shared, persistent memory across every AI tool you connect.
Gives your AI assistant persistent memory and intelligence about your work patterns.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables management and execution of Python scripts with automatic LLM-extracted argument schemas and validation. Provides script registry, execution history, and intelligent argument parsing like make but for Python scripts.-

RelayPlaneofficial
AlicenseAqualityFmaintenanceEnables efficient AI workflow orchestration by chaining multi-step LLM operations while keeping intermediate results out of the context window, reducing token usage by 90%+ and supporting multiple AI providers.7261MIT- AlicenseAqualityDmaintenanceEnables AI agents to programmatically create, manage, and execute independent Python workflow scripts with full CRUD operations, allowing AI to build and modify automation workflows themselves rather than just executing pre-built ones.62MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to execute formal, stateful workflows with typed contracts, postcondition enforcement, and structured retry logic.1Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yanmxa/scriptflow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server