google / google/mcp-security

Fix return type inconsistencies in security tools

Open
#161 0 comments 0 reactions 0 assignees View on GitHub
2025-nov-sprint
Dominant language
Python
Stars
528
Forks
141
Avg merge
3d 2h
Merged PRs (30d)
6

Description

## Problem
Several functions in the security tools modules have inconsistent return types where:
- Functions are declared with `-> str` return type annotation
- But they return dict/object responses instead of strings
- Some functions use `str()` for serialization which produces invalid JSON

## Affected Files
- `server/secops/secops_mcp/tools/security_alerts.py`
- `server/secops/secops_mcp/tools/threat_intel.py`

## Issues Found
1. **security_alerts.py**:
- `get_security_alerts()` was returning a raw string but needed JSON serialization
- `get_security_alert_by_id()` was returning raw dict response instead of string
- `do_update_security_alert()` was returning raw dict response instead of string

2. **threat_intel.py**:
- Used `str(response)` which produces Python string representation instead of valid JSON

## Solution
- Add missing `json` imports
- Use `json.dumps()` consistently for serializing dict/object responses
- Ensure all functions with `-> str` return type actually return strings

## Why json.dumps() over str()
- `json.dumps()` produces valid JSON that can be parsed by clients
- `str()` produces Python-specific representations with single quotes (not valid JSON)
- Ensures consistency across the codebase
- Preserves proper data structure for client parsing

## Related PR
PR #160 addresses this issue

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.