Pretty Prompt MCP Server
Server Quality Checklist
Latest release: v0.3.0
- Disambiguation5/5
Each tool targets a distinct resource and action: listing prompts, saving prompts, listing folders, moving prompts, and improving prompts. There is no overlap or ambiguity between them.
Naming Consistency4/5Most tools follow a clear verb_noun or verb_preposition_noun pattern (list_library_prompts, save_to_library, move_prompt_to_folder), but the mix of styles (list_*, save_to_*, move_*_to_*, improve_*) is slightly inconsistent. Still, names are readable and predictable.
Tool Count5/5With 5 tools, the server is well-scoped for a library management and prompt improvement service. Each tool has a clear purpose and none are redundant.
Completeness4/5The set covers listing, saving, organizing, and improving prompts. Missing delete/update operations for prompts or folders are minor gaps that agents can work around, but the core workflow is complete.
Average 4/5 across 5 of 5 tools scored. Lowest: 3.2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 11 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It does not mention that this is a read-only operation, nor does it disclose pagination behavior or that all prompts are returned by default. The scope is limited to the user's library, but important behavioral traits are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence without wasted words. It is front-loaded with the action and resource. However, it is minimal and could add more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity and complete schema documentation, the description is adequately functional but lacks an output schema or behavioral notes. It does not explain return format or mention optional filters, though the schema covers parameters. It is sufficient for a simple list tool but not complete for richer use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even without parameter details in the description. The description adds no additional meaning beyond what the schema already provides, but it does not need to compensate for gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists saved prompts from the user's Pretty Prompt library, using a specific verb and resource. It distinguishes itself from sibling tools like list_library_folders, which targets folders, and save_to_library, which is for saving.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 criteria like filtering or when to prefer list_library_folders or improve_prompt. There is no context about exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action (save) and destination (library), but does not mention side effects (e.g., overwrites or duplicates), authentication requirements, return values, or error behavior. This is a significant gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant information. It is front-loaded with the action and resource, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and the schema fully documents parameters, but the description lacks context about what happens after saving (e.g., return value or confirmation) and does not reference sibling tools for follow-up actions (e.g., viewing via list_library_prompts). This leaves some gaps for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (title and prompt) with 100% coverage. The description does not add any additional meaning or context to the parameters, 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.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Save a prompt to the user's Pretty Prompt library' uses a clear verb (save) and resource (prompt to library), and distinguishes this tool from siblings like list_library_prompts (listing) and move_prompt_to_folder (moving). 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.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, such as 'use for creating new prompts, not for moving existing ones.' However, the verb 'save' implies it is for adding new prompts, and the sibling names provide some context. This is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
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 explicitly states the side effect of consuming prompt credits, and describes the return value (polished prompt, explanation, optional follow-up questions). It does not mention any destructive or irreversible behaviors, which is appropriate for this non-destructive operation. The description adds meaningful behavioral context beyond the schema, though it could elaborate on the credit mechanics or the structured output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and return value. The second sentence provides crucial iterative guidance without wasted words. Every clause earns its place, and the structure makes it easy for an agent to quickly parse the tool's function, cost, and refinement workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and no output schema, the description adequately covers the return shape (polished prompt, explanation, follow-up questions), the side effect (credit usage), and the iterative refinement flow. It does not need to restate parameter details since the schema is fully covered. Minor gaps exist around how category/provider options affect behavior, but the description is complete enough for an agent to select and invoke the tool correctly on the first pass.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 7 parameters, so the baseline is 3 per the rubric. The description adds a bit of context by explaining how question_answers relates to follow-up questions from a previous call ('To refine further, call again with question_answers from the follow_up_questions'), but this is only incremental and does not significantly compensate for the lack of deeper semantics in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Improve and refine a prompt using Pretty Prompt.' It specifies the resource (prompt) and action (improve/refine), and the mention of returning a polished prompt distinguishes it from library-management siblings like list_library_prompts and save_to_library.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context, including that the tool uses the user's prompt credits and that it returns follow-up questions. It also gives an explicit iterative instruction: 'To refine further, call again with question_answers from the follow_up_questions.' However, it does not explicitly state when not to use the tool or name alternative tools beyond the implicit distinction from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description supplies the behavioral context. It discloses that 'Folders are a flat list; parent_id indicates nesting (null = root),' which is a key structural detail that affects how callers interpret results. The read-only nature is implied by 'List,' though not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver purpose, usage guidance, and a structural note without extraneous words. The description is front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero-parameter input and no output schema, the description covers purpose, usage context, and a key data attribute. It is sufficiently complete for a simple folder-listing operation, though it could mention pagination or return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters in the schema, so the baseline score of 4 applies. The description adds no parameter details, which is appropriate since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List folders in the user's Pretty Prompt library' with a specific verb and resource. It distinguishes itself from sibling tools by focusing on folders, and specifically mentions its role before move_prompt_to_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs 'Use this before move_prompt_to_folder to get folder UUIDs,' providing a clear when-to-use scenario. It does not mention alternatives or exclusion cases, but the folder-specific scope is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly discloses the state-changing behavior: moving a prompt to a folder or root, and removing it from a folder with folder_id=null. This is transparent about the operation's effect, though it doesn't detail error cases or side effects beyond the move.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the primary action front-loaded. Every clause adds value: the move action, the prerequisite, and the special null behavior. No wasted words and no repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no annotations and no output schema, the description covers the essential behavior, the key edge case (null), and the necessary precursor step. It is complete enough for an agent to select and invoke the tool correctly without further documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described, giving a baseline of 3. The description adds value by clarifying the null semantics for folder_id ('remove the prompt from its folder') and the prerequisite to call list_library_folders, which enriches the meaning beyond the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Move a library prompt into a folder, or to the library root.' It uses a specific verb ('Move') and resource ('library prompt'), and distinguishes itself from siblings like list_library_prompts and save_to_library by focusing on organization rather than creation or listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit prerequisite guidance: 'Call list_library_folders first to resolve folder UUIDs.' It also explains when to use folder_id=null. While it doesn't explicitly mention when not to use this tool versus alternatives, the context is clear that this is for moving existing prompts, not for saving new ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/charliemday/pretty-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server