@loggydev/mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@loggydev/mcp-serverList all my heartbeats and their current status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@loggydev/mcp-server
MCP (Model Context Protocol) server for Loggy. Manage heartbeats, status pages, uptime monitors, feature flags, and more directly from your AI coding assistant.
Installation
npm install -g @loggydev/mcp-serverOr use directly with npx:
npx @loggydev/mcp-serverRelated MCP server: loki-mcp-server
Configuration
Environment Variables
Variable | Required | Description |
| Yes | Your Loggy API token (get one from Settings → API Tokens) |
| No | API URL (default: |
Claude Desktop
Add to your ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"loggy": {
"command": "npx",
"args": ["@loggydev/mcp-server"],
"env": {
"LOGGY_API_TOKEN": "lgky_your_token_here",
"LOGGY_API_URL": "https://loggy.dev"
}
}
}
}Windsurf / Cascade
Add to your MCP configuration:
{
"mcpServers": {
"loggy": {
"command": "npx",
"args": ["@loggydev/mcp-server"],
"env": {
"LOGGY_API_TOKEN": "lgky_your_token_here",
"LOGGY_API_URL": "https://loggy.dev"
}
}
}
}Available Tools
Heartbeats
list_heartbeats - List all heartbeat monitors
create_heartbeat - Create a new heartbeat monitor
get_heartbeat - Get details of a specific heartbeat
delete_heartbeat - Delete a heartbeat monitor
Uptime Monitors
list_uptime_monitors - List all uptime monitors
create_uptime_monitor - Create a new uptime monitor
delete_uptime_monitor - Delete an uptime monitor
Status Pages
list_status_pages - List all status pages
create_status_page - Create a new public status page
Feature Flags
list_feature_flags - List all feature flags
create_feature_flag - Create a new feature flag
toggle_feature_flag - Enable/disable a feature flag
Alerts
list_alerts - List recent alerts
Projects & Logs
list_projects - List all projects
get_project_logs - Get recent logs for a project
Example Usage
Once configured, you can use natural language with your AI assistant:
"Create a heartbeat called 'daily-backup' that expects a ping every 24 hours"
"Set up an uptime monitor for api.myapp.com/health that checks every 5 minutes"
"Create a feature flag called 'new-dashboard' and enable it for 25% of users"
"Show me the last 10 error logs from my payment-service project"
"List all my heartbeats and their current status"
Requirements
Node.js 18+
Loggy Team subscription (API tokens are a Team feature)
Getting an API Token
Click "Create Token"
Give it a name like "MCP Server"
Set permissions (use "Set All Write" for full access)
Copy the token immediately (it's only shown once)
License
MIT
loggy-mcp
Available Tools
15 toolscreate_feature_flagC
Create a new feature flag
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Unique key for the flag (e.g., 'new-dashboard') | |
| name | Yes | Display name for the flag | |
| enabled | No | Whether the flag is enabled (default: false) | |
| percentage | No | Rollout percentage (0-100, default: 100 when enabled) | |
| description | No | Optional description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose side effects, idempotency, or error conditions. 'Create' implies mutation only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one sentence) but lacks structure; no front-loading of critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no mention of return values, errors, or uniqueness constraints; inadequate given complexity and multiple siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions; description adds no extra meaning beyond schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a new feature flag, but does not differentiate from siblings like toggle_feature_flag or list_feature_flags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives; lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_heartbeatA
Create a new heartbeat monitor for cron jobs or scheduled tasks
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the heartbeat | |
| slug | No | URL-safe slug for the ping endpoint (auto-generated if not provided) | |
| gracePeriod | No | Grace period in minutes before marking as late (default: 5) | |
| expectedInterval | Yes | Expected interval between pings in minutes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits, but it only states 'Create a new heartbeat monitor'. It does not disclose side effects, permissions required, idempotency, or what happens after creation (e.g., whether it starts immediately, returns an ID, etc.). This is insufficient for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately communicates the tool's purpose. It is front-loaded and contains no unnecessary words, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is too brief to provide a complete understanding. It does not explain the creation process, return value, or how to use the created heartbeat (e.g., pinging). For a tool with 4 parameters, more context is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters with descriptions. The tool description adds the context of 'cron jobs or scheduled tasks', which relates to expectedInterval and gracePeriod, but does not explain parameter relationships or provide additional meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new heartbeat monitor for cron jobs or scheduled tasks' clearly states the verb (create), resource (heartbeat monitor), and context (cron jobs or scheduled tasks). It distinguishes the tool from siblings like create_feature_flag, create_status_page, and create_uptime_monitor by specifying the type of monitor and its intended use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: monitoring cron jobs or scheduled tasks, which helps the agent decide when to use this tool. However, it does not explicitly state when not to use it or offer alternatives, though the context is sufficiently guiding.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_status_pageB
Create a new public status page
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Company or service name | |
| slug | Yes | URL slug for the status page | |
| description | No | Optional description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'public' implying visibility, but lacks any detail on behavioral traits like permission requirements, idempotency, or side effects. With no annotations, more disclosure is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at 6 words, but still conveys the core action. Could be improved with brief usage context, but does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no output schema and no annotations, the description is too minimal. It does not explain what the return value is, any constraints, or post-creation behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'public status page'. It distinguishes from sibling tools like list_status_pages (list vs create) and create_feature_flag (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or when not; no prerequisites, alternatives, or exclusions provided. The description is purely declarative without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_uptime_monitorB
Create a new uptime monitor to check URL availability
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to monitor (must include protocol, e.g., https://) | |
| name | Yes | Display name for the monitor | |
| method | No | HTTP method to use (default: GET) | |
| intervalMinutes | No | Check interval in minutes (default: 5) | |
| expectedStatusCode | No | Expected HTTP status code (default: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states creation and URL checking, but omits side effects, authentication needs, rate limits, or what happens if the URL is unreachable. The behavioral detail is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, instantly communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 5 parameters, the description does not explain return values, error handling, or what the created monitor does immediately. It is insufficient for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create', the resource 'uptime monitor', and the purpose 'to check URL availability'. It distinguishes from siblings like 'create_heartbeat' which monitors different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'create_heartbeat' or 'create_status_page'. No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_heartbeatC
Delete a heartbeat monitor
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Heartbeat ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only says 'delete' without indicating permanence, reversibility, or effects on related data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words, but could be more informative within the concise structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks essential details for a destructive action: no mention of whether deletion is irreversible, cascading effects, or required permissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with description 'Heartbeat ID to delete'; description adds no value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'delete' and resource 'heartbeat monitor', distinguishing it from siblings like 'delete_uptime_monitor'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_heartbeat, list_heartbeats) or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_uptime_monitorB
Delete an uptime monitor
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Monitor ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only says 'delete' without disclosing that the action is irreversible, what happens to associated data, or required permissions. More context is needed for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no extraneous information. It is maximally concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter, the description is adequate but lacks behavioral context such as error scenarios or effects on related data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'id' parameter. The description adds no extra meaning beyond the schema, but baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete an uptime monitor' clearly states the verb (delete) and the resource (uptime monitor), distinguishing it from sibling tools like delete_heartbeat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. No mention of prerequisites, such as ensuring the monitor exists, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_heartbeatB
Get details of a specific heartbeat by ID or slug
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Heartbeat ID | |
| slug | No | Heartbeat slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states 'get details' but does not specify the return structure, error behavior (e.g., If not found returns null/404), or any other side effects. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant information. It is appropriately concise for a straightforward retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity with only two parameters, the description is functional but lacks details on the return value (output schema not provided). Considering the complexity, it is minimally adequate but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds 'by ID or slug' clarifying that either parameter can be used, which adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves details of a specific heartbeat by ID or slug, distinguishing it from sibling tools like list_heartbeats which lists all heartbeats. However, it could be more explicit about returning a single object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, when an ID or slug is known, this tool is appropriate; otherwise, list_heartbeats should be used. No such context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_logsB
Get recent logs for a project
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Filter by log level | |
| limit | No | Maximum number of logs to return (default: 50) | |
| projectId | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Minimal behavioral disclosure. Description lacks details on default limit, recency definition, authentication requirements, or any side effects. Annotations are absent, so description should carry the burden but fails to do so.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise single sentence; front-loaded and efficient. No unnecessary words, but could be slightly more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple read operation, but lacks details on definition of 'recent', default limit usage, and response structure. With no output schema, more completeness would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema describes all three parameters fully (100% coverage). The description adds no extra semantic meaning beyond what is already in the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get' and resource 'recent logs for a project', making the purpose unambiguous. Distinguishes from sibling tools which are create/delete/list operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines provided; agent receives no information about when to use this tool versus any other, nor any prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_alertsC
List recent alerts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of alerts to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It only says 'List recent alerts', offering no information on sorting, pagination, default limit (if any), or whether it's read-only. The agent cannot infer side effects or constraints beyond the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (2 words), but conciseness is not optimal if it sacrifices clarity. It is front-loaded but lacks detail expected for a tool. Every word earns its place, but it is under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description fails to explain what 'recent' means, the ordering of results, or default behavior. The agent lacks enough context to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (limit parameter is described). The description adds no extra meaning beyond the schema. Since coverage is high, baseline 3 is appropriate; the description does not degrade or enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List recent alerts' clearly states the verb (list) and resource (alerts). It is not a tautology and distinguishes from sibling tools like 'list_heartbeats' by resource type. However, 'recent' is ambiguous—lacking a definition of time window—so it's not perfectly specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool over alternatives (e.g., for non-recent or filtered alerts, or compared to other list tools). No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_feature_flagsB
List all feature flags
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides no behavioral information beyond a simple read operation. It does not disclose whether listing is resource-intensive, whether it requires authentication, or if there are any side effects. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with no fluff. However, it could be improved by adding a brief note about the scope or return format without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and sibling differentiation, the description fails to provide complete context. It does not explain what information is returned for each flag or how the output is structured, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and description coverage is 100%. The description does not need to add parameter details, so it meets the baseline with no omissions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all feature flags' uses a specific verb and resource, clearly stating the tool's function. It is distinct from sibling tools like create_feature_flag and toggle_feature_flag, which 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.
Does 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. There is no mention of prerequisites, limitations, or comparison to other list tools like list_status_pages. The agent receives no help in decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_heartbeatsB
List all heartbeat monitors for your account
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'list all', implying a read operation, but fails to mention any potential implications like rate limits, page size, or that it returns all monitors without filtering. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is free of any fluff or redundancy. Every word serves a purpose, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not explain what the return value contains (e.g., fields or format of heartbeat monitors). For a list tool, this is a significant gap; agents cannot know how to parse the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema provides full coverage. The description adds the scope 'for your account', which is already implied by the tool's context. With 0 parameters, baseline is 4, and no additional detail is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'list' and resource 'heartbeat monitors' with scope 'for your account', clearly distinguishing it from sibling tools like list_uptime_monitors (different resource) and get_heartbeat (singular).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_heartbeat for a single monitor). The description only states what it does, not the context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsB
List all projects
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It only says 'List all projects', implying a read-only operation, but lacks details on permissions, rate limits, or any side effects. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two words, extremely concise, with no filler. Perfectly efficient for the simplicity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description is minimal. It lacks information about return values or pagination. Adequate for a simple list but could be more helpful by specifying what is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the input schema is empty. Per guidelines, baseline is 4. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and resource 'projects', which is unambiguous. It distinguishes from other list tools by specifying 'projects', making it easy to select among sibling tools like list_alerts or list_heartbeats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Although it's a simple list with no parameters, there is no mention of filtering, ordering, or prerequisites. The context is not provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_status_pagesA
List all status pages
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full weight. It correctly implies a read-only list operation, but does not disclose potential pagination, authentication requirements, or side effects. It is adequate for a simple list tool but leaves some behavioral traits implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that fulfills the naming convention. It is front-loaded and free of superfluous content, though it could be slightly expanded for completeness without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, a simple list operation, and no output schema, the description is minimally complete. It could specify the return format (e.g., list of status page objects) to improve agent understanding, but it suffices for a straightforward task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters; baseline is 4. The description does not need to add parameter info since none exist. It trivially meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all status pages' uses a clear verb and resource, distinguishing it from sibling list tools that target other resources (e.g., list_alerts, list_projects). 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.
Does 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. While the sibling tools suggest distinct resources, the description does not explicitly state the intended use case or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_uptime_monitorsA
List all uptime monitors
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits (e.g., read-only, pagination, auth), but it only states the operation, leaving important context unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, no wasted words, front-loaded with action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on output format, pagination, or any filters, but for a simple parameterless list, it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has no parameters (100% coverage), so baseline is 4; description adds no param info, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all uptime monitors' clearly identifies the verb and resource, and distinguishes it from sibling list tools like list_alerts or list_projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or alternatives; the resource name implies its use, but lacks any when-not or context sensitivity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_feature_flagB
Enable or disable a feature flag
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Feature flag ID | |
| enabled | Yes | Whether to enable or disable the flag | |
| percentage | No | Optional: set rollout percentage (0-100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states the basic operation, omitting behavioral details such as whether the change affects all environments, if it's instantaneous, or any side effects like toggling during an active rollout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at one sentence. No wasted words, but could benefit from slightly more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing context such as return value, error conditions, and whether the flag must exist prior to toggling. For a mutation tool with no output schema, this leaves significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The description does not add extra meaning beyond the schema. Baseline 3 is appropriate because schema already documents parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb and resource: 'Enable or disable a feature flag'. Distinguishes from sibling tools like create_feature_flag (creates new flag) and list_feature_flags (lists existing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Does not mention prerequisites (flag must exist), rollout strategies, or relationship to other tools like create_feature_flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v0.1.0- First observed
create_feature_flag - First observed
create_heartbeat - First observed
create_status_page - First observed
create_uptime_monitor - First observed
delete_heartbeat - First observed
delete_uptime_monitor - First observed
get_heartbeat - First observed
get_project_logs - First observed
list_alerts - First observed
list_feature_flags - First observed
list_heartbeats - First observed
list_projects - First observed
list_status_pages - First observed
list_uptime_monitors - First observed
toggle_feature_flag
TDQS
Each tool targets a distinct resource or action, such as feature flags, heartbeats, status pages, uptime monitors, projects, and alerts. There is no ambiguity between tools.
All tools follow a consistent verb_noun pattern using snake_case (e.g., create_uptime_monitor, list_feature_flags). Naming is predictable and uniform.
15 tools is well within the typical 3-15 range for a server covering multiple domains like monitoring and feature flags. Each tool serves a clear purpose.
The tool set covers basic CRUD for heartbeats and uptime monitors but lacks delete operations for feature flags and status pages. Also, projects only have a list operation, and alerts are only listable. Notable gaps exist.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Devopness MCP server for DevOps happiness! Empower AI Agents to deploy apps and infra, to any cloud.
Query application logs, traces, and metrics from your AI coding assistant via Foam's MCP server.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceMCP server for Uptrack uptime monitoring. Manage monitors and incidents from AI agents like Claude, ChatGPT, and Cursor.13MIT- FlicenseNot gradedqualityFmaintenanceAn MCP server that enables AI assistants to query and analyze logs from Grafana Loki using LogQL, supporting label discovery and keyword search.4-

Drumbeats MCPofficial
AlicenseAqualityAmaintenanceMCP server for Drumbeats monitoring. Enables creating monitors, triaging incidents, and running HTTP/SSL/DNS checks using natural language from any AI client.16202Apache 2.0- AlicenseNot gradedqualityDmaintenanceA MCP server for tracking AI usage metrics and structured logs across applications. Monitor model calls, analyze usage patterns, track costs, and debug AI interactions.12MIT
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/loggy-dev/loggy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server