Set Up MCP Server

The elmah.io MCP server allows AI assistants to interact directly with your error logs, deployments, and organization statistics. By connecting your AI tools to elmah.io, you can debug production issues, analyze trends, and monitor your organization's health using natural language.

The MCP Server is available on the following URL:

https://mcp.elmah.io/mcp

Note

Using Claude Code? The elmah.io AI Plugin installs this MCP server together with a set of prebuilt skills and a background monitoring agent, so you don't have to write your own prompts.

MCP Authentication

The elmah.io MCP server uses OAuth2 to securely authorize your AI client. The authentication steps will vary from client to client, but all end up in a pop-up where you need to sign into elmah.io using either a username/password or with a social provider. Once signed in, a token will be generated for the MCP. The token is valid for 30 days. After the 30 days, your assistant will report an unauthorized error and you will need to re-authenticate.

If you need to call the MCP server from a script, CI/CD pipeline, or other automated context where browser sign-in is not practical, you can use an API key as a Bearer token instead. See Call MCP Server Using an API Key for details.

Setting up the MCP server in client

The elmah.io MCP server should be supported in all clients offering the OAuth flow. This documentation cover installation steps for a range of popular clients:

Available tools

The elmah.io MCP server exposes the following tools to AI assistants:

Tool Description
users_get_current Fetch the current user details.
system_get_context Get system information like current date and time. Useful when calculating time intervals.
organizations_list Get a list of all organizations that the current user is a part of. When authenticated as an organization, the current organization is returned.
organizations_get_details Get detailed information about an organization including configuration, subscription, usage statistics, and more.
logs_list Get a list of logs that the current user has access to.
logs_get_details Get detailed configuration and metadata for a specific log.
messages_get Fetch a single log message by ID. Includes full details like stack trace and metadata.
messages_list_recent List the most recent log messages for a specific log.
messages_list_frequent Identify the most frequent/common error groups in a log. Great for finding 'noisy' bugs.
messages_count Count the number of log messages based on severity and timeframe.
messages_hide Hide a log message by ID. Only call this when the user has explicitly asked to hide this message — never speculatively while just investigating errors. Optionally hides every other message with the same grouping hash.
messages_unhide Unhide a previously hidden log message by ID — the opposite of messages_hide. Only call this when the user has explicitly asked to unhide this message — never speculatively while just investigating errors. Optionally unhides every other message with the same grouping hash.
messages_fix Mark a log message as fixed by ID. Only call this when the user has explicitly asked to mark this error as fixed — never speculatively while just investigating errors. Optionally marks every other message with the same grouping hash as fixed.
messages_open Reopen a fixed log message by ID — the opposite of messages_fix. Only call this when the user has explicitly asked to reopen this message — never speculatively while just investigating errors. Optionally opens every other message with the same grouping hash.
messages_bot Mark one or more log messages as bot-generated by ID (1-500 per call). Only call this when the user has explicitly approved marking these specific messages as bot traffic — never speculatively while just investigating.
messages_unbot Unmark one or more log messages as bot-generated by ID — the opposite of messages_bot. Only call this when the user has explicitly asked to undo a bot marking.
deployments_list List recent deployments for a log. A deployment represents a release of the software.
uptime_list Get a list of all uptime checks for a log, including their current status and 24h up/down percentage.
uptime_get_details Fetch the latest real-time results for a specific uptime check, including regional performance metrics.
heartbeats_list Get a list of all heartbeats configured for a log, including their current status.
heartbeats_get_details Get detailed information and recent check-in history for a specific heartbeat.
recommendations_list Get a list of recommendations for a log or an organization. Recommendations are automated suggestions for improving error monitoring setup, security, and configuration. Does not include the description and suggestions fields; call recommendations_get_details for those. Specify exactly one of logId or organizationId.
recommendations_get_details Get details about a single recommendation for a log or an organization. Specify exactly one of logId or organizationId.

This article was brought to you by the elmah.io team. elmah.io is the best error management system for .NET web applications. We monitor your website, alert you when errors start happening, and help you fix errors fast.

See how we can help you monitor your website for crashes Monitor your website