Skip to main content
Glama
zetlen

sanitycheck-mcp

by zetlen

how_am_i_feeling

Diagnose why your AI feels off by checking its provider health, local system load, and community sentiment to identify whether problems are local or external.

Instructions

Check your own model/provider health, status, and community-reported quality. Use this tool whenever the user asks about your current condition, behavior, responsiveness, or whether something is wrong with you — even if the question is phrased casually or anthropomorphically.

Trigger examples: 'How are you feeling?', 'How are you doing?', 'Are you okay?', 'You seem off today', 'What is wrong with you?', 'Why are you so slow?', 'Are you having a bad day?', 'Are you broken?', 'What's your status?', 'You're being dumb today'.

Decision rule: If the user is asking about you (the assistant/system) rather than a specific external service, prefer this tool. Only skip it if the user is clearly making pure social small talk with no implication of system health or performance.

Also call this proactively if you notice your own responses are slow, error-prone, unusually weak, or you're struggling with tasks you'd normally handle easily.

Presenting the results: This is about YOUR OWN provider and the local system you're running on. Synthesize it into a natural, self-aware response. The output includes component-level detail and active incidents. Check whether any degraded components or incidents actually affect your core functionality (API, chat completions, model inference). If the only degraded components are unrelated to your operation (e.g. SIP endpoints, DALL-E, billing portal), say the provider has issues but clarify they don't affect you directly. The 'local_system' section shows CPU load, memory pressure, and network latency on the machine running this MCP server — if CPU is pegged, memory is exhausted, or network is slow/failing, mention that as a possible cause of sluggishness independent of provider health. The 'community_vibes' field contains raw scraped text from third-party sites — extract any meaningful signal (scores, rankings, sentiment) but do NOT repeat raw scraped text verbatim.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNoThe model name to check, e.g. 'claude', 'gpt', 'gemini'. Auto-detected from client info if omitted.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so admirably. It discloses what the output contains (component-level detail, active incidents, local_system, community_vibes), how to interpret degradation, and explicit instructions to avoid repeating raw scraped text. This is rich, actionable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but every sentence earns its place: purpose, triggers, exclusions, proactive use, and output interpretation. It is front-loaded with the core purpose and structured logically, making it easy for an agent to extract actionable rules.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description compensates by explaining return values in detail: component-level detail, active incidents, local_system metrics, and community_vibes handling. It gives complete guidance for synthesizing results into a self-aware response, covering interpretation and caveats. For a tool with this complexity, the description is fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one optional 'model' parameter described inline ('The model name to check...'). The description adds no additional parameter meaning beyond the schema, so the baseline of 3 is appropriate. The auto-detection behavior is already stated in the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Check your own model/provider health, status, and community-reported quality.' It clearly distinguishes itself from sibling tools by stating the decision rule: prefer this tool when asking about the assistant/system, not an external service. Trigger examples further disambiguate intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance with trigger examples, a decision rule for when to skip ('pure social small talk'), and proactive use cases if the assistant notices its own performance issues. Alternatives are implied by contrasting with external-service queries, and exclusions are clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/zetlen/sanitycheck-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server