A collection of AI agent implementations using LangChain, LangGraph, FastAPI, and various LLM providers. Includes web services, knowledge graphs, tag extraction, and quantized model deployment.
This is a multi-project repository with 8 tools scattered across disparate files with no unified MCP server implementation. Tool definitions are inferred from scattered Python files rather than registered in a cohesive MCP server structure. No MCP-compliant tool registration, schema validation, or error handling is visible. Descriptions exist but are generic and lack LLM-optimization. Schemas are partially documented but many critical parameters lack type definitions or constraints. The codebase shows no evidence of MCP protocol compliance, it appears to be a collection of standalone LangGraph projects and FastAPI services, not an MCP server.
Chat with an AI assistant. Accepts a message and returns an AI response.
Download a Git repository and extract it to a local directory. This tool downloads a Git repository as a ZIP file from GitHub or similar platforms and extracts it to a './data/repo' directory. It handles both 'main' and 'master' branch repositories automatically. If the repo directory already exists, it will be removed and replaced with the new download.
Read and return the content of a .env file from a specified directory. This tool searches through the given directory path and its subdirectories to find a .env file and returns its complete content. Useful for examining environment variables and configuration settings.
Extracts unique entities from the text based on a predefined list (gazetteer). Pure regex-based extraction with deduplication.
Extract entities from the input text using recursive chunking and an LLM model. Processes text through chunks with optional parallelization.
No MCP Server Registration: Tools are scattered across standalone Python files (LangGraph projects, FastAPI apps) with no unified MCP server definition. No MCP protocol entry point, no tool registry, no schema validation.
Incomplete Input Schemas: Most tools lack proper JSON Schema definitions with type constraints, enums, ranges, or format specs. Parameters are documented in docstrings but not machine-parseable.
Missing Output Schemas: No tools document what they return, what fields are present, or what data types are expected. LLMs cannot plan downstream calls or extract structured results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 36 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
Extract unique named entities from the input text using spaCy's transformer model.
Ask a research question and get an answer with source references.
Perform a DuckDuckGo Instant Answer search and return the abstract.
Security Risk: env_content exposes .env file contents to LLM context without sanitization. Secrets in .env files (API keys, passwords, tokens) will leak into prompt history and traces. No mention of secret redaction.
Descriptions Too Generic/Short: Tools like 'chat', 'extract_entities_spacy', and 'research' have vague, under-50-character descriptions that provide insufficient context for LLM tool selection. Baseline for A+ tools is 50-200 chars with clear WHAT/WHEN/WHY.
No Error Handling Guidance: Tools provide no documented error scenarios, recovery paths, or actionable error messages. LLMs have no guidance on retrying, checking prerequisites, or alternative approaches.
No Pagination Support: Tools returning lists (e.g., extract_entities_*) do not document pagination, result limits, or how to handle large result sets that exceed context limits.
Multiple Tools with Overlapping Responsibility: Three entity extraction tools (llm, spacy, gazetteer) lack clear differentiation in descriptions. LLMs waste reasoning deciding between them. Missing guidance on when to prefer one over another.
No Parameter Type Constraints: Parameters like dir_path, query, question lack format specifications (regex, length limits, character restrictions). LLMs cannot infer valid input ranges and may pass invalid values.
No Tool Composition Chains Documented: Tools like web_search and research appear related but no documentation explains which to call first, what outputs feed into which inputs, or how to chain them for complex queries.