get_app_endpoints
Retrieve all application endpoints with aggregated performance metrics within a specified time window to identify high throughput, latency, or error rate endpoints.
Instructions
Get all endpoints for a specific application. Also gets aggregated performance
metrics withing the window of "from_" to "to". Useful for identifying high
throughput, high latency or high error rate endpoints accross the application with a
single call.
These endpoints can be used in other tools to fetch endpoint-specific metrics,
traces or errors.
Args:
app_id (int): The ID of the Scout APM application.
from_ (str): The start datetime in ISO 8601 format.
to (str): The end datetime in ISO 8601 format.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | ||
| from_ | Yes | ||
| to | Yes |
Implementation Reference
- scout_mcp/server.py:198-222 (handler)The main handler function for the 'get_app_endpoints' tool. It retrieves all endpoints for a given Scout APM application ID within a specified time range, adds endpoint IDs, and handles errors. The @mcp.tool decorator registers it as an MCP tool.@mcp.tool(name="get_app_endpoints") async def get_app_endpoints(app_id: int, from_: str, to: str) -> list[dict[str, Any]]: """ Get all endpoints for a specific application. Also gets aggregated performance metrics withing the window of "from_" to "to". Useful for identifying high throughput, high latency or high error rate endpoints accross the application with a single call. These endpoints can be used in other tools to fetch endpoint-specific metrics, traces or errors. Args: app_id (int): The ID of the Scout APM application. from_ (str): The start datetime in ISO 8601 format. to (str): The end datetime in ISO 8601 format. """ try: duration = scout_api.make_duration(from_, to) async with api_client as scout_client: endpoints = await scout_client.get_endpoints(app_id, duration) for e in endpoints: e["endpoint_id"] = scout_api.get_endpoint_id(e) return endpoints except scout_api.ScoutAPMError as e: return [{"error": str(e)}]