birdnet-go-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLIPS_BASE_URL | No | Base URL for audio clips file server | http://localhost:8091 |
| BIRDNET_BASE_URL | No | BirdNET-Go v2 REST API base URL | http://localhost:8080 |
| BIRDNET_PASSWORD | No | Optional HTTP Basic Auth password | |
| BIRDNET_USERNAME | No | Optional HTTP Basic Auth username | |
| BIRDNET_AUTH_TOKEN | No | Optional Bearer authorization token | |
| REQUEST_TIMEOUT_SECONDS | No | HTTP client timeout in seconds | 5 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": true,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_audio_clipA | Resolve a detection's audio clip (.wav) into a full HTTP URL on the clips file server, for sharing or embedding in messages and web pages. The URL is only reachable from the same network as the clips server. Use get_audio_clip_base64 instead when the audio data must be returned inline to the model. |
| get_audio_clip_base64A | Download a detection's audio clip (.wav) and return it base64-encoded, for multimodal models that accept audio input directly. WARNING: a 15-second clip is roughly 350,000-500,000 tokens. Call sparingly for single-clip verification only — never inside high-frequency or scheduled workflows. Use get_audio_clip for a lightweight shareable URL instead. |
| get_detection_detailA | Get comprehensive details for a single detection by its numeric ID (obtained from get_recent_detections or search_detections): weather conditions at detection time, confidence score, and audio clip URL. Use after an interesting detection ID has been identified. |
| get_new_arrivalsA | List species detected for the first time ever, or newly arrived this season/year. Use this to spot migration events, rare visitors, or new residents. |
| get_recent_detectionsA | Retrieve the most recent bird acoustic detections from the BirdNET-Go observatory. Returns species names, confidence scores, timestamps, and audio clip URLs. Use this as the primary tool for 'what birds were heard recently?' questions; use search_detections for historical lookups or get_today_summary for aggregates. All output is capped at 8KB to protect the agent context window. |
| get_station_healthA | Get real-time health telemetry for the monitoring station: audio stream state and ingest throughput, packet loss, and host uptime/CPU. Use this to diagnose a silent station or missing detections before other tools. |
| get_today_summaryA | Get an aggregate summary of today's observatory activity: per-species detection counts plus first and last heard times. Use for daily briefings or 'what happened today' questions. |
| search_detectionsA | Search historical detection records by date, species name/code, and minimum confidence. Use this to answer questions about a specific day, date range, or species across history. For the latest activity use get_recent_detections instead. Dates must be YYYY-MM-DD. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| daily_backyard_brief | Workflow template to generate Leopold's morning backyard observatory dispatch for Discord #birdz0rz |
| investigate_detection | Workflow template for inspecting an unusual or borderline bird detection |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Recent Detections | The 10 most recent bird detections from the backyard observatory |
| Species Activity Summary | Aggregated species counts and first/last heard timestamps |
| Station Health & Telemetry | Real-time telemetry for the outdoor Pi Zero mic stream and BirdNET-Go detector |
TDQS
Scored across 8 tools
Each tool serves a distinct purpose: audio retrieval (URL vs base64), detection details, recent/search/summary views, health status, and new arrivals. No overlapping functionality or ambiguous boundaries.
All tools follow a consistent get_ prefix for retrieval operations, with search_ appropriately used for the query tool. The base64 suffix clearly differentiates the inline-data variant from the URL variant.
With 8 tools, the set is well-scoped for a bird-observation monitoring service—covering the essential read and search operations without redundancy or bloat.
The surface covers all likely read-oriented needs for this domain: recent detections, historical search, summaries, per-detection details, audio retrieval (both URL and base64), health status, and new arrivals. No significant gaps are evident.