PeepIt MCP
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
The three tools have clearly distinct purposes with no overlap: 'analyze' processes existing image files, 'image' captures macOS screens and optionally analyzes them, and 'list' provides system information. Each tool targets a different primary function (file analysis, screen capture, system listing), making them easily distinguishable.
Naming Consistency5/5All tool names follow a consistent, simple verb-based pattern: 'analyze', 'image', and 'list'. While 'image' is a noun rather than a verb, it functions as a clear action (capture image) and maintains a uniform, concise naming style across the set without mixing conventions.
Tool Count5/5With only 3 tools, the count is well-scoped for the server's purpose of macOS screen interaction and analysis. Each tool serves a distinct, essential function: listing system items for awareness, capturing screens, and analyzing images, covering the core workflow without unnecessary bloat.
Completeness4/5The tool set covers the primary workflows for macOS screen automation: listing applications/windows, capturing screens, and analyzing images. A minor gap exists in lacking tools for direct interaction with windows (e.g., focus, resize) or file management, but agents can work around this using the provided tools for basic automation tasks.
Average 4.2/5 across 3 of 3 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- No commit activity data available
- 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
- 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 does an excellent job describing key behaviors: window shadows/frames are excluded, output can be via file path or Base64 data, AI analysis occurs when a question is provided using auto-selected providers, and temporary files are deleted after analysis. The only minor gap is lack of explicit mention about permissions needed for screen capture or potential rate limits.
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 sized and front-loaded with the core purpose. It efficiently covers capture targets, output formats, and analysis capability in a few sentences. The version information at the end ('PeepIt MCP 1.0.0-beta.1...') could be considered extraneous but doesn't significantly detract from the overall conciseness.
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 5-parameter tool with no annotations and no output schema, the description provides substantial context about behavior, use cases, and parameter interactions. It covers the dual functionality (capture + optional analysis) well. The main gap is the lack of information about return values or response structure, which would be important since there's no output schema. However, the description compensates well for the missing annotations.
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 all 5 parameters thoroughly. The description mentions some parameters (app_target, format, question) but doesn't add significant semantic value beyond what's in the schema. It provides context about how parameters interact (e.g., path behavior with format='data'), but the schema already covers most of this. 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.
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: 'Captures macOS screen content and optionally analyzes it.' It specifies the verb ('captures'), resource ('macOS screen content'), and optional analysis capability. It distinguishes from sibling tools 'analyze' and 'list' by focusing on capture functionality with optional analysis, rather than pure analysis or listing operations.
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 context about when to use this tool: for screen capture with optional AI analysis. It mentions specific use cases like targeting entire screens, app windows, or all windows of an app. However, it doesn't explicitly state when NOT to use this tool or when to prefer sibling tools like 'analyze' (which might be for analyzing existing images rather than capturing new ones).
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 effectively describes key behaviors: the tool analyzes local image files, supports both image understanding and OCR capabilities, allows flexible AI configuration, and provides examples of how it responds. It mentions server configuration dependencies but doesn't cover error handling, rate limits, or authentication requirements.
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 well-structured with clear sections: purpose statement, usage context, capabilities list, and example. While comprehensive, it could be slightly more concise - the capabilities section repeats information from the purpose statement, and the example is detailed but necessary. Most sentences earn their place by adding value.
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 3 parameters, no annotations, and no output schema, the description provides substantial context about what the tool does and how to use it. It covers purpose, usage guidelines, capabilities, and provides a concrete example. The main gap is the lack of information about return values or error conditions, which would be helpful given the absence of an output schema.
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 fully documents all three parameters. The description adds minimal additional parameter semantics beyond what's in the schema - it mentions the types of questions that can be asked and provides an example, but doesn't add significant meaning beyond the comprehensive 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: analyzing pre-existing image files using AI models. It specifies the exact action ('analyzes'), resource ('image file from local filesystem'), and scope ('using configured AI model'). It distinguishes from sibling tools 'image' and 'list' by focusing on analysis rather than image manipulation or listing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does 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: 'when an image already exists (e.g., previously captured, downloaded, or generated) and you need to understand its content, extract text, or answer specific questions about it.' It also distinguishes capabilities (image understanding, OCR) and provides clear examples of appropriate use cases, making it easy to determine when this tool is the right choice.
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 does well by describing capabilities, details available for windows (IDs, bounds, off-screen status), and server information. However, it doesn't mention performance characteristics, rate limits, or potential side effects of listing operations. The description is informative but could be more comprehensive about behavioral constraints.
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 well-structured with clear sections (Capabilities, Use Cases) and uses bullet points effectively. However, it includes version information ('PeepIt MCP 1.0.0-beta.1 using openai/gpt-4o, ollama/llava:latest') that doesn't add value for tool selection. The core content is front-loaded and efficient, but could be slightly more concise by removing the version details.
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 3 parameters, 100% schema coverage, and no output schema, the description provides good contextual completeness. It explains what the tool does, when to use it, and provides concrete examples. However, without an output schema, the description could better explain what information is returned for each item_type, particularly for server_status which is mentioned but not detailed in the examples.
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 all parameters thoroughly. The description adds some context about fuzzy matching for app names and provides concrete examples of parameter usage, but doesn't add significant semantic meaning beyond what's already in the schema descriptions. The baseline of 3 is appropriate given the comprehensive schema coverage.
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 as 'Lists various system items on macOS, providing situational awareness' and specifies three distinct capabilities: listing running applications, application windows, and server status. It distinguishes itself from sibling tools 'analyze' and 'image' by focusing on listing rather than analysis or image capture.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines through 'Use Cases' section with concrete examples showing when to use each item_type. It distinguishes between different scenarios: checking if an app is running, finding specific windows for capture, and getting server status. The examples clearly demonstrate appropriate parameter configurations for each use case.
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/MantisWare/peepit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server