← Back to search

io.github.CSOAI-ORG/fishkeeper-ai-mcp

CSOAI-ORG Scanned 16d ago

MCP server for fishkeeper ai. Features analyze water params, identify fish, check compatibil...

C
71.4 / 100

Versions

1.0.1latest
first seen Jun 5, 2026
1.0.4
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 6

analyze_water_params
annotations: none low

Analyze aquarium water parameters and return health assessment. Compares readings against safe ranges for the tank type and provides specific actionable advice for any parameters out of range. Args: ph: pH level (0-14 scale). ammonia_ppm: Ammonia in parts per million (NH3/NH4+). nitrite_ppm: Nitrite in parts per million (NO2-). nitrate_ppm: Nitrate in parts per million (NO3-). temperature_c: Water temperature in Celsius. gh_dgh: General hardness in degrees (optional). kh_dgh: Carbonate hardness in degrees (optional). tank_type: One of: freshwater_tropical, freshwater_coldwater, marine_reef, marine_fowlr, brackish. Returns: Health assessment with parameter-by-parameter analysis and recommendations. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

ph float gh_dgh string kh_dgh string api_key str tank_type str ammonia_ppm float nitrate_ppm float nitrite_ppm float temperature_c float
identify_fish
annotations: none low

Identify fish species and return detailed care requirements. Search by common name, scientific name, or physical description. Args: description: Physical description or partial name to search for. species_name: Known species name (common or scientific). Returns: Species details including care requirements, water parameters, compatibility. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

api_key str description string species_name string
check_compatibility
annotations: none low

Check if multiple fish species are compatible in the same tank. Analyzes temperament, water parameter overlap, size differences, and known compatibility issues. Args: species_list: List of species IDs or common names to check together. Returns: Compatibility matrix with warnings and recommended tank parameters. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

api_key str species_list string
diagnose_disease
annotations: none low

Diagnose fish disease from symptoms and suggest treatments. Matches symptoms against a database of common aquarium diseases and provides treatment protocols. Args: symptoms: List of observed symptoms (e.g. ["white spots", "flashing", "loss of appetite"]). species: Affected species name (for species-specific advice). water_params: Optional dict with current water parameters (ph, ammonia_ppm, etc). Returns: Possible diagnoses ranked by symptom match, with treatment plans. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results.

api_key str species string symptoms string water_params string
calculate_stocking
annotations: none low

Calculate maximum fish stocking for a tank. Uses a combination of inch-per-gallon baseline, bioload weighting, swimming space requirements, and filtration capacity. Args: tank_litres: Tank volume in litres. tank_length_cm: Tank length in cm (important for active swimmers). species_list: List of dicts with "species_id" and "count" keys. filtration_quality: One of "minimal", "standard", "excellent", "over-filtered". planted: Whether tank has live plants (improves capacity slightly). Returns: Stocking assessment with bioload percentage and recommendations. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results.

api_key str planted bool tank_litres float species_list string tank_length_cm string filtration_quality str
get_feeding_schedule
annotations: none low

Generate a feeding schedule based on species mix. Creates a practical daily/weekly feeding plan accounting for different dietary needs, swim levels, and feeding behaviors. Args: species_list: List of species IDs or common names in the tank. tank_type: Tank type for context (freshwater_tropical, freshwater_coldwater, marine_reef). Returns: Detailed feeding schedule with food types, amounts, and timing. Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

api_key str tank_type str species_list string

Permissions 3

network medium
Server uses network capabilities via: urllib
filesystem low
Server uses filesystem capabilities via: os
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 34

medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3483) dependency_analyzer · 95%
low
Tool 'analyze_water_params' has no annotations annotation_checker · 100%
low
Tool 'identify_fish' has no annotations annotation_checker · 100%
low
Tool 'check_compatibility' has no annotations annotation_checker · 100%
low
Tool 'diagnose_disease' has no annotations annotation_checker · 100%
low
Tool 'calculate_stocking' has no annotations annotation_checker · 100%
low
Tool 'get_feeding_schedule' has no annotations annotation_checker · 100%
high
Remote transport without authentication auth_checker · 70%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3482) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: analyze_water_params manifest_parser · 90%
info
Tool: identify_fish manifest_parser · 90%
info
Tool: check_compatibility manifest_parser · 90%
info
Tool: diagnose_disease manifest_parser · 90%
info
Tool: calculate_stocking manifest_parser · 90%
info
Tool: get_feeding_schedule manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (5) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 80%
low
Permission: filesystem access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%