Skip to main content
Glama
DMontgomery40

mcp-server-birdstats

mcp-сервер-birdstats

Связывайте данные BirdNET-Pi с наблюдениями eBird, используя естественный язык

Обзор

Этот плагин MCP позволяет анализировать обнаружения BirdNET-Pi/BirdWeather, подключая их к обширной базе данных eBird.

Related MCP server: Birding Planner

Функции

  • Интерфейс на естественном языке для запросов к данным birdnet-pi / birdweather и eBird

  • Перекрестная ссылка на обнаружения BirdWeather с наблюдениями eBird

  • Визуализации на основе данных с артефактами React

Установка

  1. Клонируйте репозиторий:

git clone https://github.com/yourusername/mcp-server-birdstats.git
  1. Установить зависимости:

npm install

Клод Конфиг

"mcp-birdstats": {
      "command": "npx",
      "args": ["-y", "mcp-birdstats"]
    },

Использование

Плагин обрабатывает запросы на естественном языке о ваших данных по обнаружению птиц. Примеры запросов:

  • «Мой BirdNET услышал свенсоновского дрозда. Это необычно?»

  • «Какое самое редкое обнаружение моей станции на этой неделе?»

  • «График моих обнаружений по времени суток»

  • «Видут ли эти певуны на eBird?»

Целостность данных

Этот плагин строго придерживается принципов целостности данных:

  • Использует только фактические данные ответа API

  • Никогда не создает примеры или оценочные данные

  • Всегда показывает количество наблюдений с процентами

  • Четкое указание на отсутствие данных

Основная логика

Основная функциональность содержится в одном текстовом файле src/index.txt который включает в себя:

  • Взаимодействие API BirdWeather

  • Взаимодействие API eBird

  • Функции анализа данных

  • Определения типов

  • Вспомогательные утилиты

API-интеграция

API BirdWeather

  • Статистика станции

  • Списки видов

  • Записи обнаружения

API eBird

  • Недавние наблюдения

  • Известные наблюдения

  • Данные точек доступа

  • Информация о видах

Лицензия

Массачусетский технологический институт

Поддерживать

Если у вас возникли проблемы или вы хотите предложить новые функции, пожалуйста, создайте запрос в репозитории GitHub.

Available Tools

3 tools
get_birdweather_apiRead BirdWeather API SchemaA
Read-onlyIdempotent

Use this tool to inspect the BirdWeather OpenAPI contract used by this server. Required inputs: none. Defaults: mode='summary', maxPaths=25, optional pathPrefix filter. Set mode='full' with confirmLargePayload=true for full schema. Side effects: none (read-only local file access). Cost note: full schema is large; summary is preferred for planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosummary
confirmLargePayloadNo
maxPathsNo
pathPrefixNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety and idempotency. The description adds valuable context beyond this: 'Side effects: none (read-only local file access)' clarifies the scope, and 'Cost note: full schema is large' warns about payload size. It doesn't contradict annotations but provides practical behavioral details.

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 front-loaded with the core purpose, followed by parameter guidance and behavioral notes in a logical flow. Every sentence adds value: the first states the action, the second covers inputs and defaults, the third explains mode usage, and the fourth adds side effects and cost. No wasted words.

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

Completeness4/5

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

Given 4 parameters with no schema descriptions and no output schema, the description does well to explain parameter usage, defaults, and behavioral traits. It covers when to use different modes and warnings about payload size. However, it doesn't detail the response format or error handling, leaving some gaps for a tool with multiple parameters.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates well by explaining parameter purposes: 'mode='summary'' vs. 'full', 'maxPaths=25' for limiting output, 'optional pathPrefix filter' for filtering, and the requirement of 'confirmLargePayload=true' for full mode. It adds meaning beyond the bare schema, though it doesn't detail all constraints like min/max values.

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 clearly states the specific action ('inspect the BirdWeather OpenAPI contract') and resource ('used by this server'), distinguishing it from sibling tools like get_ebird_api and get_system_prompt. It goes beyond the title by specifying it's for reading the API schema, not just a generic 'read' operation.

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 guidance on when to use different modes: 'summary is preferred for planning' and 'Set mode='full' with confirmLargePayload=true for full schema.' It also mentions 'optional pathPrefix filter' for specific use cases, offering clear alternatives within the tool itself.

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

get_ebird_apiRead eBird API SchemaA
Read-onlyIdempotent

Use this tool to inspect the eBird OpenAPI contract used by this server. Required inputs: none. Defaults: mode='summary', maxPaths=25, optional pathPrefix filter. Set mode='full' with confirmLargePayload=true for full schema. Side effects: none (read-only local file access). Cost note: full schema is large; use summary first.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosummary
confirmLargePayloadNo
maxPathsNo
pathPrefixNo

TDQS

A4.6/5.0
Behavior4/5

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

The description adds valuable behavioral context beyond annotations: it notes 'side effects: none (read-only local file access)' and 'Cost note: full schema is large; use summary first.' While annotations already indicate readOnlyHint=true and idempotentHint=true, the description provides practical implementation details about payload size and local access.

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 efficiently structured: it starts with the core purpose, lists required inputs, explains defaults and options, and ends with behavioral notes. Every sentence adds value without redundancy, making it easy to parse.

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

Completeness4/5

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

Given the tool's moderate complexity (4 parameters, no output schema), the description is mostly complete: it covers purpose, usage, parameters, and behavioral traits. However, it lacks details on return values (since no output schema exists) and doesn't fully explain all parameter interactions.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates by explaining parameter semantics: it clarifies that mode has 'summary' and 'full' options, maxPaths defaults to 25, pathPrefix is optional, and confirmLargePayload is required for full mode. However, it doesn't fully explain all parameters (e.g., exact meaning of pathPrefix).

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 clearly states the tool's purpose with specific verbs ('inspect', 'read') and identifies the resource ('eBird OpenAPI contract used by this server'). It distinguishes from sibling tools like get_birdweather_api by specifying the eBird API schema, not other APIs or system prompts.

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 usage guidance: 'use summary first' due to cost concerns, and specifies when to use mode='full' (with confirmLargePayload=true). It implicitly contrasts with siblings by focusing on eBird API inspection, though it doesn't explicitly name alternatives.

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

get_system_promptRead BirdStats System PromptA
Read-onlyIdempotent

Use this tool when you need operational instructions for BirdStats analysis behavior. Required inputs: none. Defaults: mode='summary', previewLineCount=12. Set mode='full' with confirmLargePayload=true to return full prompt text. Side effects: none (read-only local file access). Cost note: full mode can consume significant tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosummary
confirmLargePayloadNo
previewLineCountNo

TDQS

A4.7/5.0
Behavior4/5

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

The description adds valuable behavioral context beyond annotations: it notes 'Side effects: none (read-only local file access)' and 'Cost note: full mode can consume significant tokens.' While annotations cover read-only and idempotent aspects, the description provides practical warnings about token consumption and clarifies the access type, enhancing transparency without contradiction.

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 highly concise and well-structured: it opens with the usage scenario, lists required inputs and defaults, explains parameter interactions, and adds behavioral notes. Each sentence serves a distinct purpose—no wasted words, and information is front-loaded for clarity.

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

Completeness4/5

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

Given the tool's moderate complexity (3 parameters, no output schema), the description is nearly complete: it covers purpose, usage, parameters, and behavioral notes. However, it lacks details on the output format (e.g., what a 'summary' vs. 'full' prompt looks like), leaving a minor gap in contextual understanding.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining all parameters: it states 'Required inputs: none,' lists defaults for mode and previewLineCount, and details the interaction between mode='full' and confirmLargePayload. This adds essential meaning beyond the bare schema, covering semantics and usage conditions effectively.

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 explicitly states the tool's purpose: 'when you need operational instructions for BirdStats analysis behavior.' It specifies the verb 'read' (implied from title) and resource 'system prompt,' clearly distinguishing it from sibling tools like get_birdweather_api and get_ebird_api, which likely access different data sources.

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 usage guidance: 'Use this tool when you need operational instructions for BirdStats analysis behavior.' It also details when to use specific modes (e.g., 'Set mode='full' with confirmLargePayload=true to return full prompt text'), offering clear alternatives within the tool itself.

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.

  1. 3 tool updatesv0.2.0
    • First observedget_birdweather_api
    • First observedget_ebird_api
    • First observedget_system_prompt

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: inspecting the BirdWeather API contract, inspecting the eBird API contract, and retrieving the system prompt for operational instructions. There is no overlap in functionality or ambiguity between these three tools.

Naming Consistency5/5

All tool names follow a consistent 'get_' prefix pattern (get_birdweather_api, get_ebird_api, get_system_prompt), with clear and descriptive nouns. This uniformity makes the tool set predictable and easy to understand.

Tool Count3/5

With only three tools, the server feels thin for a domain that appears to involve bird statistics analysis. While the tools cover API inspection and prompt retrieval, the lack of actual data retrieval or analysis tools suggests an incomplete surface for the implied purpose.

Completeness2/5

The tool set is severely incomplete for a bird statistics server. It only provides meta-tools for inspecting APIs and prompts, with no tools to fetch or analyze bird data from BirdWeather or eBird. This creates significant gaps that will hinder agents from performing meaningful tasks in the domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Integrates the eBird API with Claude to query bird observation data, including recent sightings, rare bird reports, contributor statistics, hotspot locations, and taxonomy information through natural language.
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An AI-powered birding companion that connects Claude to eBird and Xeno-canto APIs, enabling personalized birding with life list tracking, route-based hotspot discovery, and recording enrichment.
    28
    2
    MIT