MCP Mac Apps Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation2/5
The tool set suffers from significant ambiguity, as it mixes three unrelated domains (Mac app management, MongoDB operations, and Ollama AI) without clear separation. Tools like 'get_running_applications', 'open_application', and 'quit_application' overlap in purpose with 'run_applescript', which can automate similar actions, leading to potential misselection. The MongoDB tools are internally distinct but unrelated to the Mac app tools, creating confusion about the server's primary focus.
Naming Consistency3/5Naming conventions are mixed, with some consistency within subdomains but overall inconsistency. MongoDB tools follow a clear 'mongodb_verb_noun' pattern, and Ollama tools use 'ollama_verb_noun', but Mac app tools vary (e.g., 'get_running_applications', 'open_application', 'quit_application', 'run_applescript') without a unified prefix or structure. This makes the set readable but not predictably organized across the entire server.
Tool Count3/5With 15 tools, the count is borderline for the server's apparent scope, which seems to cover multiple unrelated domains. For a focused Mac apps server, 15 tools might be reasonable, but here it includes MongoDB and Ollama operations, making the set feel heavy and unfocused. The number is not extreme, but it suggests a lack of clear scoping, as the tools do not form a cohesive whole for a single purpose.
Completeness2/5There are significant gaps in coverage for the inferred domains, indicating an incomplete surface. For Mac app management, basic operations like listing installed apps or managing app settings are missing. For MongoDB, while CRUD operations are present, advanced features like indexing or aggregation are absent. The Ollama tools are minimal, lacking model management or configuration options. This fragmentation leads to dead ends for agents trying to perform comprehensive tasks in any one area.
Average 2.9/5 across 15 of 15 tools scored. Lowest: 2.2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 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
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states it 'finds documents', implying a read operation, but doesn't disclose any behavioral traits like whether it's safe (non-destructive), what permissions are required, how results are returned (e.g., format, pagination), or any rate limits. This leaves significant gaps for an agent to understand how to use it effectively.
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, efficient sentence in Russian ('Находит документы в коллекции'), which is appropriately concise and front-loaded. There's no wasted text, making it easy to parse, though it could benefit from more detail to improve clarity and completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a MongoDB find operation with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., document format, error handling) or provide usage context. This leaves the agent with insufficient information to invoke the tool correctly, especially without annotations to cover behavioral aspects.
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, with clear parameter descriptions in Russian (e.g., 'Имя базы данных' for databaseName). The tool description adds no additional meaning beyond what the schema provides, such as explaining filter syntax or limit defaults in more detail. With high schema coverage, the baseline score of 3 is appropriate, as the schema adequately documents parameters without extra help from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Находит документы в коллекции' (Finds documents in a collection) is a tautology that essentially restates the tool name 'mongodb_find_documents'. It doesn't specify what type of documents or provide any distinguishing details from sibling tools like mongodb_list_collections or mongodb_delete_document. The purpose is vague and lacks specificity about the MongoDB context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does 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 alternatives. It doesn't mention sibling tools like mongodb_list_collections for listing collections without filtering or mongodb_delete_document for deleting documents. There's no context about prerequisites, such as needing an existing database and collection, or when to use filter vs. limit parameters.
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?
No annotations are provided, so the description carries full burden. It states 'inserts' which implies a write/mutation operation, but doesn't disclose behavioral traits like required permissions, whether it's idempotent, error handling (e.g., duplicate keys), or what happens on success/failure. For a mutation tool with zero annotation coverage, 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Russian that directly states the tool's action. It's appropriately sized and front-loaded with zero wasted words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations, no output schema, and 3 parameters, the description is incomplete. It doesn't cover return values, error conditions, or behavioral context needed for safe and effective use. The 100% schema coverage helps but doesn't compensate for the lack of operational guidance.
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%, with all three parameters (databaseName, collectionName, document) well-documented in the schema. The description adds no additional meaning beyond the schema's parameter details. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Вставляет документ в коллекцию' (Inserts a document into a collection) clearly states the verb 'inserts' and the resource 'document into collection', but it doesn't specify MongoDB context or differentiate from sibling tools like mongodb_create_collection or mongodb_delete_document. It's vague about the specific MongoDB operation scope.
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?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., database/collection must exist), exclusions, or compare to siblings like mongodb_create_collection for collection-level operations. Usage context is implied but not explicit.
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 provided, the description carries the full burden of behavioral disclosure. It states this is a creation operation but doesn't mention whether it requires specific permissions, what happens if the collection already exists, whether it's idempotent, or any rate limits. For a mutation 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple creation tool and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a database mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens on success/failure, return values, error conditions, or behavioral nuances. Given the complexity of database operations and the lack of structured metadata, more contextual information would be needed for reliable agent usage.
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 schema description coverage is 100%, with both parameters clearly documented in the input schema. The description doesn't add any additional parameter semantics beyond what's already in the schema (it mentions 'указанной базе данных' which corresponds to databaseName, but this is already covered). With complete schema coverage, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Создает' - Creates) and resource ('новую коллекцию в указанной базе данных' - new collection in the specified database), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'mongodb_create_database' or 'mongodb_list_collections', but the verb+resource combination is specific enough for basic understanding.
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 like 'mongodb_create_database' (for creating databases) or 'mongodb_list_collections' (for listing existing collections). There's no mention of prerequisites, constraints, or typical use cases, leaving the agent with minimal contextual direction.
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?
No annotations are provided, so the description carries full burden. It states 'creates' which implies a write/mutation operation, but doesn't disclose behavioral traits like required permissions, whether it's idempotent, what happens on duplicate names, or error conditions. This is inadequate for a mutation tool with zero annotation coverage.
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, clear sentence in Russian that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a database creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., success confirmation, error details), behavioral aspects like side effects, or usage context. Given the complexity of a write operation, more completeness is needed.
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% (the single parameter 'databaseName' has a description in the schema), so the baseline is 3. The tool description adds no additional parameter information beyond what the schema already provides about the database name parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Создает' - creates) and the resource ('новую базу данных в MongoDB' - new database in MongoDB), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'mongodb_list_databases' or 'mongodb_create_collection', which would require a 5.
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 doesn't mention prerequisites (e.g., MongoDB connection), when not to use it (e.g., if database already exists), or compare it to siblings like 'mongodb_list_databases' for checking existing databases.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Удаляет' clearly indicates a destructive mutation, the description lacks critical details: it doesn't specify if deletion is permanent, what permissions are required, whether it affects associated data (e.g., indexes), or what happens on success/failure (e.g., error if collection doesn't exist). This is a significant gap for a destructive tool.
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, direct sentence with zero wasted words. It front-loads the key action ('Удаляет') and resource, making it immediately scannable and efficient. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description is incomplete. It fails to address critical context: the irreversible nature of deletion, required permissions, error conditions (e.g., non-existent collection), or what is returned (e.g., success confirmation or error). Given the complexity and risk, more behavioral transparency is needed.
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%, with both parameters ('databaseName' and 'collectionName') clearly documented in the schema. The description adds no additional parameter semantics beyond implying these two inputs are needed for deletion. This meets the baseline of 3 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Удаляет' - deletes) and the resource ('коллекцию из базы данных' - collection from the database), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'mongodb_delete_document' or 'mongodb_list_collections', but the verb 'deletes' versus 'list' or 'find' provides implicit distinction.
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 doesn't mention prerequisites (e.g., the collection must exist), exclusions (e.g., cannot delete system collections), or compare to siblings like 'mongodb_delete_document' (which deletes documents within a collection) or 'mongodb_list_collections' (which lists collections without deletion).
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 provided, the description carries the full burden of behavioral disclosure. It states the tool deletes document(s) based on a filter, implying a destructive mutation, but doesn't specify critical details: whether it requires authentication, the effect on data (permanent deletion), rate limits, or what happens if the filter matches multiple documents (e.g., bulk deletion). This is a significant gap for a destructive tool with zero annotation coverage.
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, efficient sentence in Russian ('Удаляет документ(ы) из коллекции по фильтру'), directly stating the purpose without unnecessary words. It's front-loaded with the core action, making it easy to parse. Every part of the sentence contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive operation with 3 parameters) and lack of annotations or output schema, the description is incomplete. It doesn't cover behavioral aspects like safety, permissions, or output format, nor does it provide usage context. For a deletion tool, this leaves critical gaps that could lead to misuse or confusion by an AI agent.
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%, with all three parameters ('databaseName', 'collectionName', 'filter') documented in the schema. The description adds minimal value beyond the schema, only implying that 'filter' is used for deletion without explaining its JSON format or semantics. Baseline 3 is appropriate as the schema handles most documentation, but the description doesn't compensate with additional insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('удаляет' - deletes) and the resource ('документ(ы) из коллекции' - document(s) from a collection), specifying it operates based on a filter. It distinguishes from siblings like 'mongodb_delete_collection' by focusing on documents rather than collections. However, it doesn't explicitly differentiate from other deletion tools beyond the resource scope.
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 doesn't mention prerequisites (e.g., database/collection must exist), exclusions (e.g., not for bulk deletions without a filter), or compare to siblings like 'mongodb_delete_collection' for collection-level operations. Usage is implied by the action but lacks explicit context.
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 provided, the description carries the full burden of behavioral disclosure. While 'Получает' implies a read-only operation, it doesn't explicitly state whether this requires authentication, what permissions are needed, whether it's safe to call, what happens with non-existent databases, or what the return format looks like. For a database tool with zero annotation coverage, 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple listing operation and front-loads the core functionality. Every word earns its place in conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a database listing tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the return value contains (collection names, metadata, etc.), doesn't mention error handling for non-existent databases, and provides no context about authentication requirements or typical usage patterns. The description should do more given the complexity of database operations.
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 schema already documents the single parameter (databaseName). The description adds no additional parameter information beyond what's in the schema - it mentions 'указанной базе данных' (specified database) which is already covered by the parameter description. 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Получает' - gets/retrieves) and resource ('список коллекций' - list of collections) with scope ('в указанной базе данных' - in the specified database). It distinguishes from siblings like mongodb_list_databases (which lists databases rather than collections) and mongodb_create_collection (which creates rather than lists). However, it doesn't explicitly differentiate from other read operations like mongodb_find_documents.
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 doesn't mention when to use mongodb_list_collections versus mongodb_list_databases, or when this tool is appropriate versus other MongoDB operations. There's no mention of prerequisites, error conditions, or typical use cases.
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?
No annotations are provided, so the description carries the full burden. It states the tool opens files/URLs in apps but doesn't disclose behavioral traits like whether it launches new app instances, handles errors, requires specific permissions, or has side effects. For a tool that interacts with system applications, this lack of transparency 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Russian that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of interacting with system applications and the lack of annotations and output schema, the description is incomplete. It doesn't cover what happens on success/failure, return values, or error conditions. For a tool with potential side effects, more context is needed.
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 schema fully documents both parameters ('path' and 'appName'). The description adds no additional meaning beyond what's in the schema, such as format examples or constraints. With high schema coverage, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Открывает' - opens) and the target ('файл или URL' - file or URL) with the means ('в указанном приложении' - in the specified application). It's specific about what the tool does but doesn't explicitly differentiate from sibling tools like 'open_application' or 'run_applescript' that might have overlapping functionality.
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 doesn't mention prerequisites, when not to use it, or compare it to siblings like 'open_application' or 'run_applescript' that might handle similar tasks. Usage is implied but not explicitly defined.
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 provided, the description carries full burden for behavioral disclosure. 'Закрывает' implies a destructive/mutative operation, but it doesn't specify whether this is a graceful shutdown or force-quit, what permissions are required, whether unsaved data might be lost, or what happens if the app isn't running. For a destructive tool with zero annotation coverage, this is inadequate.
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, efficient sentence in Russian that directly states the tool's function. There's no wasted verbiage or unnecessary elaboration. It's appropriately sized for a simple tool with one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'closing' entails behaviorally, what happens on success/failure, or any side effects. The agent lacks critical information about this mutation operation's consequences and expected outcomes.
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%, with the single parameter 'appName' clearly documented in the schema as 'Имя приложения для закрытия' (Name of the application to close). The description doesn't add any parameter details beyond what the schema provides, such as format examples or constraints. 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('закрывает' - closes) and the target resource ('указанное приложение' - the specified application). It distinguishes from siblings like 'open_application' and 'get_running_applications' by specifying a closing action rather than opening or listing. However, it doesn't specify whether this is graceful termination or force-quit, which prevents a perfect score.
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 doesn't mention prerequisites (e.g., the application must be running), exclusions, or comparison with similar tools like 'run_applescript' which might also close applications. The agent must infer usage context from the tool name alone.
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 provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it behaves: no information on permissions needed, whether it's safe or destructive, rate limits, output format, or error handling. This is a significant gap for a tool with zero annotation coverage.
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, efficient sentence in Russian that directly states the tool's purpose without any fluff or redundant information. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a read operation with no parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain what the output looks like (e.g., list format, data included), potential errors, or system dependencies, leaving gaps for the agent to handle this tool effectively.
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?
The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description appropriately doesn't mention parameters, which aligns with the schema. A baseline of 4 is applied since no parameter information is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'получает' (gets) and the resource 'список всех запущенных приложений на Mac' (list of all running applications on Mac), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'open_application' or 'quit_application' that also deal with applications, which prevents a perfect score.
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 like 'open_application' or 'quit_application'. It lacks any context about prerequisites, timing, or exclusions, leaving the agent to infer usage from the purpose alone.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets a list' but doesn't elaborate on aspects like whether it requires authentication, returns all databases or a filtered subset, handles errors, or provides metadata (e.g., sizes, status). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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, clear sentence in Russian: 'Получает список всех баз данных в MongoDB'. It is front-loaded with the core action and resource, with no unnecessary words or fluff. This makes it highly efficient and easy to parse, earning a top score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal but adequate for basic understanding. However, it lacks details on behavioral aspects (e.g., authentication needs, return format) and usage context, which are important for an AI agent to invoke it correctly in real-world scenarios. This makes it incomplete despite the low complexity.
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?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline score of 4 is given because the schema fully covers the parameters (none exist), and the description doesn't need to compensate, avoiding redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Получает список всех баз данных в MongoDB' (Gets a list of all databases in MongoDB). It specifies the verb 'получает' (gets) and resource 'баз данных в MongoDB' (databases in MongoDB), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'mongodb_list_collections', which might cause confusion about scope.
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 doesn't mention when to prefer this over other database-related tools (e.g., 'mongodb_list_collections' for listing collections within a database) or any prerequisites. This lack of context could lead to misuse in scenarios requiring more specific database operations.
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 provided, the description carries full burden for behavioral disclosure. It only states what the tool does ('gets list of available Ollama models') without describing any behavioral traits - no information about permissions needed, rate limits, response format, whether it's cached or real-time, or any side effects. For a tool with zero annotation coverage, this is insufficient behavioral transparency.
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, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized for a simple list operation and front-loads the essential information. Every word earns its place in this minimal description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations, no output schema, and zero parameters, the description is incomplete for proper agent usage. While the purpose is clear, there's no information about what the response contains (model names, versions, sizes, etc.), how results are formatted, or any behavioral context. For even a simple list operation, the agent needs more guidance about what to expect from the output.
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?
The tool has zero parameters (schema coverage 100%), so there are no parameters to document. The description correctly doesn't attempt to describe non-existent parameters. The baseline for zero parameters is 4, as there's nothing to compensate for and no misleading parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Получает' - gets/retrieves) and resource ('список доступных моделей Ollama' - list of available Ollama models). It specifies the exact resource type (Ollama models) which distinguishes it from other list operations like mongodb_list_collections or mongodb_list_databases. However, it doesn't explicitly differentiate from sibling tool ollama_generate, which is a different type of operation.
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 doesn't mention prerequisites, appropriate contexts, or when not to use it. While the purpose is clear, there's no usage guidance beyond the basic function description.
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 provided, the description carries the full burden of behavioral disclosure. While it mentions the tool executes AppleScript commands, it doesn't describe important behavioral aspects: whether this requires specific permissions, what happens if the application isn't running, whether scripts can be destructive, error handling, or what the response looks like. For a tool that executes arbitrary scripts with no annotation coverage, 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that each serve a purpose: the first states what the tool does, the second provides context about its utility. There's no wasted text, and the information is front-loaded with the core functionality stated first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a tool that executes arbitrary AppleScript commands with no annotations and no output schema, the description is insufficiently complete. It doesn't address security implications, permission requirements, error conditions, or what kind of response to expect. For a potentially powerful automation tool with zero structured safety information, the description should do more to guide safe and effective 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 description doesn't add any parameter semantics beyond what's already in the schema, which has 100% coverage with clear descriptions for both parameters. The baseline is 3 when schema coverage is high (>80%), even with no additional param information in the description. The description doesn't explain parameter relationships or provide usage examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Выполняет AppleScript команду в указанном приложении' (Executes an AppleScript command in the specified application). It specifies both the verb ('выполняет' - executes) and the resource (AppleScript command in an application). However, it doesn't explicitly differentiate from sibling tools like 'open_application' or 'quit_application' which are also application-related but perform different actions.
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 provides some implied usage context with 'Полезно для автоматизации действий в приложениях' (Useful for automating actions in applications), suggesting this is for automation tasks. However, it doesn't explicitly state when to use this versus alternatives like 'open_application' or 'quit_application', nor does it provide any exclusion criteria or prerequisites for use.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool generates responses using a local model, which implies it's a read-only operation that doesn't modify data, but it doesn't cover other behavioral aspects like potential rate limits, error handling, or performance characteristics. For a tool with no annotations, this leaves significant gaps in understanding how it behaves beyond the basic function.
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 concise and front-loaded, consisting of two sentences that directly state the purpose and usage. There's no unnecessary information, and each sentence serves a clear function: the first defines the tool, and the second provides guidance. It could be slightly improved by integrating the two ideas more seamlessly, but it's efficient overall.
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 tool has 2 parameters, no annotations, and no output schema, the description provides a basic but incomplete context. It covers the purpose and general usage but lacks details on behavioral traits, output format, or error handling. For a text generation tool with local model interaction, more information on limitations or expected responses would enhance completeness, making it adequate but with clear gaps.
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 schema description coverage is 100%, with both parameters ('model' and 'prompt') fully described in the schema. The description doesn't add any additional meaning beyond what the schema provides (e.g., it doesn't explain parameter interactions or provide examples). According to the rules, with high schema coverage (>80%), the baseline score is 3, as the schema already documents the parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Генерирует ответ используя локальную модель Ollama' (Generates a response using the local Ollama model). It specifies the verb ('генерирует' - generates) and resource ('локальную модель Ollama' - local Ollama model), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'ollama_list_models', though the distinction is implied by the different actions.
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 provides some usage guidance: 'Используйте для задач, требующих AI обработки текста' (Use for tasks requiring AI text processing). This implies the context (text processing tasks) but doesn't specify when to use this tool versus alternatives (e.g., other AI tools not listed as siblings) or any exclusions. It's helpful but lacks explicit alternatives or detailed when-not-to-use scenarios.
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 provided, the description carries full burden for behavioral disclosure. It states what the tool does (opens applications) but doesn't describe what happens if the app is already running, if the app name is invalid, if it requires specific permissions, or what the expected outcome looks like. For a system-level operation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
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 extremely concise - a single sentence stating the purpose followed by relevant examples. Every element earns its place: the core functionality is stated upfront, and the examples provide immediate practical guidance without unnecessary elaboration. The structure 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.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with good schema coverage but no annotations and no output schema, the description provides adequate basic context about what the tool does. However, it lacks important contextual information about error conditions, system requirements, or what constitutes success/failure. The examples help but don't compensate for missing behavioral transparency needed for a system operation tool.
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% with the single parameter 'appName' well-documented in the schema. The description adds value by providing concrete examples ('Safari', 'Finder', 'TextEdit', 'Calculator') that illustrate expected parameter values, but doesn't provide additional semantic context beyond what the schema already states about application names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Открывает' - opens) and resource ('приложение на Mac по имени' - Mac application by name) with specific examples provided. It distinguishes from siblings like 'quit_application' and 'get_running_applications' by focusing on launching apps rather than closing or querying them. However, it doesn't explicitly differentiate from 'open_file_with_app' which has a different primary purpose.
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 implies usage context through examples of common Mac applications, suggesting this tool is for launching standard macOS apps. However, it provides no explicit guidance on when to use this versus alternatives like 'open_file_with_app' (which opens files with specific apps) or 'run_applescript' (which could also launch apps). No exclusion criteria or prerequisites are mentioned.
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/TrueOleg/MCP-expirements'
If you have feedback or need assistance with the MCP directory API, please join our Discord server