python-mcp

Implements MCP servers in Python using EvoAgentX for the THYROX meta-framework.

1|Updated Mar 25, 2026
One-click install
npx skills add https://github.com/NestorMonroy/thyrox --skill python-mcp-nestormonroy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: python-mcp
Source: https://github.com/NestorMonroy/thyrox/tree/main/.claude/skills/python-mcp
Command: npx skills add https://github.com/NestorMonroy/thyrox --skill python-mcp-nestormonroy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires mcp, evoagentx, faiss-cpu, sentence-transformers.

What problem does it solve? Building MCP servers and Python components for the THYROX meta-framework requires consistent conventions across design, implementation, and verification phases; this Skill provides phase-by-phase guidance so tools are specified, implemented, and audited correctly. ## Core Features & Use Cases - MCP Tool Contract Specification: Defines input/output schemas, preconditions, error behavior, and timeouts for each MCP tool during the design phase. - Ordered Implementation Workflow: Guides building the EvoAgentX adapter layer first, then dataclasses, then the MCP server with tool registration. - Security and Correctness Checklist: Verifies type hints, exec timeouts, blocked destructive command patterns, FAISS index persistence, and bootstrap idempotency. - Use Case: When adding a new MCP server under registry/mcp/, follow the Skill to specify tool contracts, implement the adapter and server, then validate that exec_cmd blocks dangerous patterns and store_memory persists the FAISS index. ## Quick Start Ask the AI to implement a new MCP server in registry/mcp following the python-mcp conventions, including the EvoAgentX adapter, tool schemas, and security checks.

Frequently Asked Questions about python-mcp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement an MCP server in Python?▼

Implement the EvoAgentX adapter first with stable interfaces, then define return dataclasses like ExecResult and MemoryResult, then create the server file that imports the adapter, registers tools, and calls server.run(). Test manually by piping a tools/list JSON request into the server.

What should an MCP tool specification include?▼

Each MCP tool specification should include explicit input schemas with types, a JSON-serializable dict output schema, preconditions, error behavior that returns errors in the dict instead of raising, and a timeout for any operation that could block.

How do I secure exec_cmd in an MCP server?▼

Configure a timeout on exec_cmd and exec_python so they never block indefinitely, and block destructive patterns such as rm -rf / and fork bombs. Keep paths configurable through environment variables or arguments with zero hardcoded secrets.

Why does FAISS index data disappear after a crash?▼

The FAISS index is lost when it is not persisted after each store_memory call. Persist the index after every write and verify thread-safety so concurrent memory operations do not corrupt or lose stored vectors.

When should bootstrap.py be idempotent?▼

Bootstrap scripts must always be idempotent so running them twice does not break the environment. Check during evaluation that repeated execution produces the same state without errors or duplicated resources.