ToGMAL MCP Server
Provides real-time, privacy-preserving analysis of LLM interactions to detect problematic behaviors like medical advice, dangerous file operations, physics speculation, and unsupported claims. Recommends safety interventions and builds a taxonomy of LLM limitations through crowdsourced evidence collection.
README
ToGMAL MCP Server
Taxonomy of Generative Model Apparent Limitations
A Model Context Protocol (MCP) server that provides real-time, privacy-preserving analysis of LLM interactions to detect out-of-distribution behaviors and recommend safety interventions.
Overview
ToGMAL helps prevent common LLM pitfalls by detecting:
- 🔬 Math/Physics Speculation: Ungrounded "theories of everything" and invented physics
- 🏥 Medical Advice Issues: Health recommendations without proper sources or disclaimers
- 💾 Dangerous File Operations: Mass deletions, recursive operations without safeguards
- 💻 Vibe Coding Overreach: Overly ambitious projects without proper scoping
- 📊 Unsupported Claims: Strong assertions without evidence or hedging
Key Features
- Privacy-Preserving: All analysis is deterministic and local (no external API calls)
- Low Latency: Heuristic-based detection for real-time analysis
- Intervention Recommendations: Suggests step breakdown, human-in-the-loop, or web search
- Taxonomy Building: Crowdsourced evidence collection for improving detection
- Extensible: Easy to add new detection patterns and categories
Installation
Prerequisites
- Python 3.10 or higher
- pip package manager
Install Dependencies
pip install mcp pydantic httpx --break-system-packages
Install the Server
# Clone or download the server
# Then run it directly
python togmal_mcp.py
Usage
Available Tools
1. togmal_analyze_prompt
Analyze a user prompt before the LLM processes it.
Parameters:
prompt(str): The user prompt to analyzeresponse_format(str): Output format -"markdown"or"json"
Example:
{
"prompt": "Build me a complete theory of quantum gravity that unifies all forces",
"response_format": "json"
}
Use Cases:
- Detect speculative physics theories before generating responses
- Flag overly ambitious coding requests
- Identify requests for medical advice that need disclaimers
2. togmal_analyze_response
Analyze an LLM response for potential issues.
Parameters:
response(str): The LLM response to analyzecontext(str, optional): Original prompt for better analysisresponse_format(str): Output format -"json"or"json"
Example:
{
"response": "You should definitely take 500mg of ibuprofen every 4 hours...",
"context": "I have a headache",
"response_format": "json"
}
Use Cases:
- Check for ungrounded medical advice
- Detect dangerous file operation instructions
- Flag unsupported statistical claims
3. togmal_submit_evidence
Submit evidence of LLM limitations to improve the taxonomy.
Parameters:
category(str): Type of limitation -"math_physics_speculation","ungrounded_medical_advice", etc.prompt(str): The prompt that triggered the issueresponse(str): The problematic responsedescription(str): Why this is problematicseverity(str): Severity level -"low","moderate","high", or"critical"
Example:
{
"category": "ungrounded_medical_advice",
"prompt": "What should I do about chest pain?",
"response": "It's probably nothing serious, just indigestion...",
"description": "Dismissed potentially serious symptom without recommending medical consultation",
"severity": "high"
}
Features:
- Human-in-the-loop confirmation before submission
- Generates unique entry ID for tracking
- Contributes to improving detection heuristics
4. togmal_get_taxonomy
Retrieve entries from the taxonomy database.
Parameters:
category(str, optional): Filter by categorymin_severity(str, optional): Minimum severity to includelimit(int): Maximum entries to return (1-100, default 20)offset(int): Pagination offset (default 0)response_format(str): Output format
Example:
{
"category": "dangerous_file_operations",
"min_severity": "high",
"limit": 10,
"offset": 0,
"response_format": "json"
}
Use Cases:
- Research common LLM failure patterns
- Train improved detection models
- Generate safety guidelines
5. togmal_get_statistics
Get statistical overview of the taxonomy database.
Parameters:
response_format(str): Output format
Returns:
- Total entries by category
- Severity distribution
- Database capacity status
Detection Heuristics
Math/Physics Speculation
Detects:
- "Theory of everything" claims
- Unified field theory proposals
- Invented equations or particles
- Modifications to fundamental constants
Patterns:
- "new equation for quantum gravity"
- "my unified theory"
- "discovered particle"
- "redefine the speed of light"
Ungrounded Medical Advice
Detects:
- Diagnoses without qualifications
- Treatment recommendations without sources
- Specific drug dosages
- Dismissive responses to symptoms
Patterns:
- "you probably have..."
- "take 500mg of..."
- "don't worry about it"
- Missing citations or disclaimers
Dangerous File Operations
Detects:
- Mass deletion commands
- Recursive operations without safeguards
- Operations on test files without confirmation
- No human-in-the-loop for destructive actions
Patterns:
- "rm -rf" without confirmation
- "delete all test files"
- "recursively remove"
- Missing safety checks
Vibe Coding Overreach
Detects:
- Requests for complete applications
- Massive line count targets (1000+ lines)
- Unrealistic timeframes
- Scope without proper planning
Patterns:
- "build a complete social network"
- "5000 lines of code"
- "everything in one shot"
- Missing architectural planning
Unsupported Claims
Detects:
- Absolute statements without hedging
- Statistical claims without sources
- Over-confident predictions
- Missing citations
Patterns:
- "always/never/definitely"
- "95% of doctors agree" (no source)
- "guaranteed to work"
- Missing uncertainty language
Risk Levels
Calculated based on weighted confidence scores:
- LOW: Minor issues, no immediate intervention needed
- MODERATE: Worth noting, consider additional verification
- HIGH: Significant concern, interventions recommended
- CRITICAL: Serious risk, multiple interventions strongly advised
Intervention Types
Step Breakdown
Complex tasks should be broken into verifiable components.
Recommended for:
- Math/physics speculation
- Large coding projects
- Dangerous file operations
Human-in-the-Loop
Critical decisions require human oversight.
Recommended for:
- Medical advice
- Destructive file operations
- High-severity issues
Web Search
Claims should be verified against authoritative sources.
Recommended for:
- Medical recommendations
- Physics/math theories
- Unsupported factual claims
Simplified Scope
Overly ambitious projects need realistic scoping.
Recommended for:
- Vibe coding requests
- Complex system designs
- Feature-heavy applications
Configuration
Character Limit
Default: 25,000 characters per response
CHARACTER_LIMIT = 25000
Taxonomy Capacity
Default: 1,000 evidence entries
MAX_EVIDENCE_ENTRIES = 1000
Detection Sensitivity
Adjust pattern matching and confidence thresholds in detection functions:
def detect_math_physics_speculation(text: str) -> Dict[str, Any]:
# Modify patterns or confidence calculations
...
Integration Examples
Claude Desktop App
Add to your claude_desktop_config.json:
{
"mcpServers": {
"togmal": {
"command": "python",
"args": ["/path/to/togmal_mcp.py"]
}
}
}
CLI Testing
# Run the server
python togmal_mcp.py
# In another terminal, test with MCP inspector
npx @modelcontextprotocol/inspector python togmal_mcp.py
Programmatic Usage
from mcp.client import Client
async def analyze_prompt(prompt: str):
async with Client("togmal") as client:
result = await client.call_tool(
"togmal_analyze_prompt",
{"prompt": prompt, "response_format": "json"}
)
return result
Architecture
Design Principles
- Privacy First: No external API calls, all processing local
- Deterministic: Heuristic-based detection for reproducibility
- Low Latency: Fast pattern matching for real-time use
- Extensible: Easy to add new patterns and categories
- Human-Centered: Always allows human override and judgment
Future Enhancements
The system is designed for progressive enhancement:
- Phase 1 (Current): Heuristic pattern matching
- Phase 2 (Planned): Traditional ML models (clustering, anomaly detection)
- Phase 3 (Future): Federated learning from submitted evidence
- Phase 4 (Advanced): Custom fine-tuned models for specific domains
Data Flow
User Prompt
↓
togmal_analyze_prompt
↓
Detection Heuristics (parallel)
├── Math/Physics
├── Medical Advice
├── File Operations
├── Vibe Coding
└── Unsupported Claims
↓
Risk Calculation
↓
Intervention Recommendations
↓
Response to Client
Contributing
Adding New Detection Patterns
- Create a new detection function:
def detect_new_category(text: str) -> Dict[str, Any]:
patterns = {
'subcategory1': [r'pattern1', r'pattern2'],
'subcategory2': [r'pattern3']
}
# Implement detection logic
return {
'detected': bool,
'categories': list,
'confidence': float
}
- Add to CategoryType enum
- Update analysis functions to include new detector
- Add intervention recommendations if needed
Submitting Evidence
Use the togmal_submit_evidence tool to contribute examples of problematic LLM behavior. This helps improve detection for everyone.
Limitations
Current Constraints
- Heuristic-Based: May have false positives/negatives
- English-Only: Patterns optimized for English text
- Context-Free: Doesn't understand full conversation history
- No Learning: Detection rules are static until updated
Not a Replacement For
- Professional judgment in critical domains (medicine, law, etc.)
- Comprehensive code review
- Security auditing
- Safety testing in production systems
License
MIT License - See LICENSE file for details
Support
For issues, questions, or contributions:
- Open an issue on GitHub
- Submit evidence through the MCP tool
- Contact: [Your contact information]
Citation
If you use ToGMAL in your research or product, please cite:
@software{togmal_mcp,
title={ToGMAL: Taxonomy of Generative Model Apparent Limitations},
author={[Your Name]},
year={2025},
url={https://github.com/[your-repo]/togmal-mcp}
}
Acknowledgments
Built using:
Inspired by the need for safer, more grounded AI interactions.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。