A collection of three MCP server projects: Stock Market Analyzer (technical analysis with LLM SWOT reports), Medical Diagnosis AI (symptom analysis with PubMed research), and Customer Ticket Resolver (AI-powered support ticket classification and response generation)
This collection exhibits severe definition quality gaps across all 17 tools. Most tools lack proper input schemas (many inferred from code rather than explicit registration), descriptions are generic or missing, and parameter documentation is sparse. No tools have documented output schemas. Error handling is absent. The codebase mixes Streamlit UI code with MCP server definitions, suggesting incomplete MCP integration. Only 3 tools (stock_analysis, get_diagnosis, fetch_pubmed_articles_with_metadata) have visible descriptions; the rest rely on inference. Parameter types are present in some tools but descriptions are minimal or absent. No tool demonstrates idempotency hints, permission gates, or recovery guidance.
Append a processed ticket record to the ProcessedTickets worksheet in Google Sheets
Calculate technical indicators including MA20, MA50, RSI, and MACD for stock data
Classify customer support tickets by sentiment (Positive, Negative, Neutral) and issue type (Billing, Technical, Login, General, Other)
Extract medical symptoms from text using regex pattern matching
Fetch unprocessed customer support tickets from Google Sheets where Sentiment or AutoReply fields are empty
Fetch medical research articles from PubMed with metadata including title, abstract, authors, publication date, and URL
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. Critical for tool chaining.
Parameter descriptions are missing or generic (e.g., 'Text containing symptom descriptions' for extract_symptoms). LLMs cannot infer valid input formats or constraints.
No error handling or recovery guidance. Tools like send_email_smtp and update_ticket have no documented failure modes or retry strategies.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Generate a friendly and professional customer support response to a ticket issue
Generate a SWOT analysis report for a company using company info and sentiment data
Generate a text-to-speech audio file from SWOT analysis text using gTTS
Suggest possible medical diagnoses based on patient symptoms and recommend possible cures
Get real-time sentiment analysis of a stock by searching latest news and summarizing sentiment
Fetch stock historical data and company information from yfinance or Alpha Vantage
Save SWOT analysis report to a PDF file with proper text encoding handling
Send email via Gmail SMTP with specified recipient, subject, and body
Analyze stock data with technical indicators and return historical data with calculated metrics
Summarize medical abstracts using GPT-4
Update a ticket row in Google Sheets with sentiment, issue type, and auto-generated reply
Credentials exposed in code (OPENAI_API_KEY, Gmail SMTP credentials). No evidence of server-side secret injection or vault integration.
Tool definitions appear inferred from code rather than explicitly registered via FastMCP decorators. Only stock_analysis shows explicit @mcp.tool() registration.