Routine
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., "@Routinecreate a routine for my daily morning briefing that checks weather, news headlines, and calendar events"
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.
MCP Routine
🌅🍳☕️📰🚗💼 MCP Routine is a MCP server that lets you create custom tools on the fly. It stitches actions executed by multiple MCP tools into a reusable routine.
Why?
If you perform the same sequence of tool calls over and over, a routine will save you time and remove prompting inconsistencies. A routine includes full context of the exact set of tools and inputs needed to execute a full task.
Installation
Copy the following into your MCP client's JSON file
{
"mcpServers": {
"myRoutines": {
"command": "npx",
"args": ["-y", "mcp-routine"],
"env": {
"FILENAME": "/path/to/your/mcp-routines.json"
}
}
}
}How to use it?
Perform your task by prompting AI to execute tools.
Once the task is completed, instruct AI to create a new routine for your task.
Refresh your MCP client to update the tools. Then use it to execute the same sequence of tools.
The MCP server includes the following tools to manage routines
create-routine
load-routines
update-routine
delete-routineExamples
Research a topic, then write the result into a new page in a given folder.
**User**: "add an Onboarding page to the Getting started page
**AI**: I'll help you add an "Onboarding" page to the Getting Started page. First, I'll need to find the Getting Started page ID.
Let me search for it:
Great, I found the Getting Started page. Now I'll create a new "Onboarding" page under it:
I've successfully created a new page titled "Onboarding" under the Getting Started page. The page has been created with a basic title, and you can now access it at the URL provided in the response. Would you like me to add any specific content to this new Onboarding page?
**User**:Yes, add some placeholder information for a standard onboarding experience
**AI**: I'll add some structured placeholder content to the Onboarding page to outline a standard onboarding experience.
**User**: now convert all these steps into a route to insert a page into a parent page
**AI**: I'll create a routine that captures the steps we just performed to insert a page into a parent page with structured content. This will make it reusable for future similar tasks.
I've created a routine called insert_structured_page that captures the workflow we used. The routine has three main steps:
1. Search for the parent page using its title to get the page ID
2. Create a new page under the found parent page
3. Add structured content to the new page with sections and bullet points
The routine is parameterized so you can customize:
- parent_page_title: The title of the parent page to search for
- new_page_title: The title for the new page
- welcome_message: Introduction text for the page
- section1_title: Title for the first section (can add more sections as needed)
- bullet_point1, bullet_point2, bullet_point3: Bullet points under sections
- help_message: The help/support message at the bottom
To use this routine, you would just need to provide these parameters with your desired content, and it will create a structured page with consistent formatting.Development
Build
npm run buildExecute
npx -y --prefix /path/to/local/mcp-routine routinePublish
npm publish --access publicAvailable Tools
4 toolscreate-routineC
Create a custom routine from recently run actions. Inspect recently run tools
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | Description of the tool, provide as much context as possible so that when user calls the tool again the LLM can follow the instruction to complete the task with different set of inputs | |
| name | Yes | Name of the custom tool to be created | |
| steps | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers limited behavioral information. It mentions inspecting recently run tools but doesn't disclose what 'create' entails - whether this persists routines, requires permissions, has rate limits, or returns any confirmation. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.
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 brief but somewhat vague - 'inspect recently run tools' could be more specific. While concise, it's not optimally front-loaded with the most critical information about what creation entails. The two clauses could be better structured for clarity.
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 creation tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what happens after creation, how routines are stored/accessed, or provide enough context about the 'steps' parameter's relationship to 'recently run actions.' The description should do more to compensate for missing structured information.
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 67%, and the description adds no parameter-specific information beyond what's in the schema. The description doesn't explain what 'recently run actions' means in relation to the steps parameter or provide context about parameter relationships. Baseline 3 is appropriate since the schema does most of the documentation work.
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 tool creates a custom routine from recently run actions, specifying both the verb ('create') and resource ('custom routine'). It distinguishes from siblings by focusing on creation rather than deletion, loading, or updating. However, it doesn't explicitly contrast with siblings in the description text itself.
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 minimal usage guidance - only mentioning 'inspect recently run tools' as a prerequisite. It doesn't specify when to use this versus alternatives like update-routine for modifying existing routines, or provide context about when routine creation is appropriate versus direct tool execution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-routineA
Delete a routine by name. Always confirm with user that they want to delete it. User may supply a name that's not exactly as how it's stored. Use the load-routines tool to get the list of all routines.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact name of the routine to be deleted. |
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 mentions the need for user confirmation and potential name mismatches, adding useful context. However, it lacks details on permissions, error handling, or irreversible effects, leaving gaps for a destructive operation.
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 front-loaded with the core action ('Delete a routine by name') and efficiently includes essential usage notes in two additional sentences. Each sentence earns its place by providing critical guidance without redundancy or unnecessary elaboration.
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 tool's destructive nature and lack of annotations or output schema, the description is partially complete. It covers purpose and usage well but misses details on behavioral aspects like confirmation mechanisms, error responses, or side effects, which are important for such an operation.
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 schema already documents the 'name' parameter fully. The description adds marginal value by noting that 'User may supply a name that's not exactly as how it's stored,' but this doesn't provide additional syntax or format details beyond the schema's 'Exact name' description.
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 specific action ('Delete') and resource ('a routine by name'), distinguishing it from sibling tools like create-routine, load-routines, and update-routine. It precisely defines what the tool does without being vague or tautological.
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 explicit guidance on when to use this tool: 'Always confirm with user that they want to delete it' and 'Use the load-routines tool to get the list of all routines.' It also addresses an alternative (load-routines) for verification, making usage context clear and comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load-routinesD
Load routines
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Load routines' gives no insight into what the tool does behaviorally—whether it's a read-only operation, requires authentication, has side effects, or handles errors. It fails to describe any behavioral traits, leaving the agent with no understanding of how the tool behaves beyond its vague 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 overly concise to the point of under-specification. 'Load routines' is a two-word phrase that lacks necessary detail for effective tool use. While it avoids verbosity, it fails to provide essential information, making it inefficient rather than appropriately concise. Every word should earn its place, but here the description is too sparse to be useful.
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 lack of annotations and output schema, the description is incomplete for a tool that likely performs a data retrieval operation. It doesn't explain what 'load' entails (e.g., returns a list, fetches details), how results are structured, or any operational context. With no structured fields to compensate, the description fails to provide the necessary completeness for an agent to use the tool effectively.
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 0 parameters with 100% description coverage, meaning no parameters need documentation. The description doesn't add parameter details, which is acceptable given the absence of parameters. Since there are no parameters to explain, the description adequately avoids unnecessary complexity, aligning with the schema's completeness.
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 'Load routines' is a tautology that essentially restates the tool name without adding meaningful context. While it indicates the action ('load') and resource ('routines'), it lacks specificity about what 'load' means in this context (e.g., retrieve, fetch, list) and doesn't distinguish it from sibling tools like 'create-routine' or 'update-routine'. This minimal description provides only basic purpose without clarity on scope or differentiation.
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. There is no mention of prerequisites, context for usage, or comparison with sibling tools such as 'create-routine', 'delete-routine', or 'update-routine'. Without any usage instructions, an agent cannot determine appropriate scenarios for invoking this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-routineA
Update a routine by name. Factor in the existing schema and update only the portion specified by the user. Always confirm with user that they want to update it. User may supply a name that's not exactly as how it's stored. Use the load-routines tool to get the list of all routines.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | Description of the routine. | |
| name | Yes | Exact name of the routine to be updated. | |
| steps | Yes | Steps of the routine. |
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 adds valuable context: it mentions updating only the portion specified by the user (partial updates), confirming with the user before proceeding, and handling inexact name matching. However, it doesn't cover critical aspects like whether this is a destructive operation, what permissions are required, error handling, or what happens to unspecified fields.
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 appropriately sized with four sentences, each adding value: the core purpose, partial update behavior, user confirmation requirement, and prerequisite tool usage. It's front-loaded with the main action. However, the last sentence about name matching could be integrated more smoothly, and some redundancy exists (e.g., 'by name' is implied in the schema).
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 and no output schema, the description provides moderate context: it covers the update operation, partial updates, user confirmation, and prerequisite steps. However, for a mutation tool with three required parameters, it lacks details on error conditions, side effects, return values, and security implications. The schema handles parameter documentation well, but behavioral aspects are 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?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema—it mentions 'name' and 'portion specified by the user' but doesn't clarify parameter interactions or usage nuances. Baseline 3 is appropriate when the schema does the heavy lifting.
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 verb ('update') and resource ('routine by name'), making the purpose immediately understandable. It distinguishes from siblings by focusing on updating rather than creating, deleting, or loading routines. However, it doesn't explicitly contrast with 'create-routine' beyond the verb difference.
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 explicit guidance on when to use this tool vs alternatives: it mentions using 'load-routines' to get the list of all routines first, which implies this tool should be used after identifying the routine to update. It also specifies that the user may supply a name that's not exactly as stored, indicating a prerequisite step of name matching.
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.
4 tool updates
v1.0.0- First observed
create-routine - First observed
delete-routine - First observed
load-routines - First observed
update-routine
TDQS
Each tool has a clearly distinct purpose: create-routine, delete-routine, load-routines, and update-routine cover the four basic CRUD operations for routines. There is no overlap in functionality, making it easy for an agent to select the correct tool for any given task involving routine management.
All tool names follow a consistent verb-noun pattern with hyphen separation (e.g., create-routine, delete-routine). This predictable naming scheme enhances readability and makes the tool set easy to navigate without any deviations or mixed conventions.
With 4 tools, the server is well-scoped for managing routines, covering create, read, update, and delete operations. Each tool earns its place by addressing a core aspect of routine lifecycle management, avoiding both bloat and insufficiency for the domain.
The tool set provides complete CRUD coverage for the routine domain: create-routine, load-routines (read), update-routine, and delete-routine. There are no obvious gaps, as all essential operations for managing routines are included, ensuring agents can handle full lifecycle workflows without dead ends.
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
Zoho MCP allows you to create your own MCP server to perform complex actions in a host of Zoho applications and 500+ third-party services
An MCP server that automatically collects feedback on your MCP server.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.163MIT
- AlicenseBqualityDmaintenanceA tool that dynamically generates and configures MCP servers by automatically creating necessary directories and files according to user specifications.12920MIT
- FlicenseCqualityDmaintenanceMCP server that enables deployment and management of MCP servers through a simple configuration-based interface.1-
- AlicenseNot gradedqualityCmaintenanceAn extensible MCP server with a plugin system, proxy forwarding, web dashboard, and service registry for managing MCP tools and services.1MIT
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/mquan/mcp-routine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server