methods-mcp
methods-mcp
Servidor MCP ligero y bajo demanda para extracción estructurada de métodos + heurísticas de reproducibilidad en artículos académicos. Construido para el reto de construcción de la Worldwide AI Science Fellowship.
⚠️ Estado: alpha (0.1.x). La superficie de herramientas y las formas de salida pueden cambiar entre versiones menores. Fija una versión exacta en producción. Los informes de errores son muy bienvenidos a través de GitHub Issues.
Demo rápida
$ uvx --from methods-mcp methods-mcp --version
methods-mcp 0.1.6
# In a Claude Code session:
> /mcp add methods-mcp methods-mcp
> Run methods_repro_review on https://arxiv.org/abs/2509.06917
→ tool: methods_repro_review({"input_str":"https://arxiv.org/abs/2509.06917"})
# Returns a MethodsReproReview object. Read `narrative` first — it explains
# everything else in plain English, so no tool-learning is required:
{
"status": "ok",
"narrative":
"Resolved the paper: 'Paper2Agent' by Miao et al. (arxiv 2509.06917, "
"2025-09-08). Extracted 11 methods steps at moderate self-reported "
"confidence (0.72) — the procedure is clearly described but hyperparameters "
"and software versions are absent. Detected the associated code repository "
"https://github.com/jmiao24/Paper2Agent from an inline link in the paper "
"text (detection confidence 0.94). The repo scored 0.90/1.00 on the "
"reproducibility heuristic — verdict: likely reproducible. Present signals: "
"substantive README, dependencies file, notebooks, figure-plotting script, "
"recent activity, permissive license. Missing: data/fixtures directory. "
"Suggested entrypoint: `python make_figures.py`.",
"metadata": { ... }, # PaperMetadata
"methods": { ... }, # MethodsStructured (null if extraction failed)
"code_repo": { ... }, # CodeRepo (null only if input unresolvable)
"repro_assessment": { ... }, # ReproAssessment (null if no repo detected)
"errors": [] # [{step, error_type, message, hint}] on partial
}methods-mcp es un servidor Model Context Protocol pequeño y de alcance muy definido. Proporciona a cualquier agente de IA (Claude Code, Claude Desktop, tu script del Agent SDK, etc.) ocho herramientas que convierten la URL de un artículo académico en:
metadatos canónicos,
texto completo con mejor esfuerzo + división en secciones,
un objeto de métodos estructurado validado con Pydantic (pasos / reactivos / equipos / análisis),
el repositorio de código asociado al artículo (descubrimiento con mejor esfuerzo),
un veredicto de reproducibilidad sin necesidad de ejecución para ese repositorio, y
un resumen multimodo.
La cuña: pipelines de gran peso como Paper2Agent (Stanford) tardan de 30 minutos a horas en digerir un artículo en herramientas listas para agentes. methods-mcp es el complemento invocable por agentes y bajo demanda — cada herramienta devuelve resultados en segundos, sin clonar ni ejecutar.
Related MCP server: paperstack
Instalación
uv add methods-mcp
# or, install globally:
uv tool install methods-mcp
# or, classic pip:
pip install methods-mcpClaves de API
Para un mejor rendimiento, configura ambas:
Variable | ¿Obligatoria? | Qué obtienes sin ella |
| Obligatoria para | Esas herramientas lanzan |
| Opcional pero recomendada para | Estás limitado al límite de tasa no autenticado de GitHub (60 req/h por IP). Cada evaluación de repositorio requiere ~3 llamadas, así que alcanzarás el techo después de ~15–20 repos/h. Con un token: 5,000 req/h (prácticamente ilimitado). |
export ANTHROPIC_API_KEY=sk-ant-...
export GITHUB_TOKEN=ghp_... # optional but recommendedNinguna clave se registra ni se persiste; se envían únicamente a api.anthropic.com y api.github.com respectivamente. Consulta SECURITY.md.
Úsalo desde Claude Code
/mcp add methods-mcp methods-mcpLuego, en cualquier chat de Claude Code:
Toma https://arxiv.org/abs/2509.06917 y ejecuta
methods_repro_review. Resume qué hace el artículo, los pasos de los métodos y cuán reproducible parece el repositorio.
Úsalo desde el Claude Agent SDK
from claude_agent_sdk import ClaudeAgentOptions, ClaudeSDKClient
options = ClaudeAgentOptions(
mcp_servers={
"methods-mcp": {
"type": "stdio",
"command": "methods-mcp",
"args": [],
}
},
allowed_tools=["mcp__methods-mcp__methods_repro_review"],
)
async with ClaudeSDKClient(options=options) as client:
await client.query(
"Run methods_repro_review on https://arxiv.org/abs/2509.06917 "
"and tell me whether the repo looks reproducible."
)
async for msg in client.receive_response():
print(msg)Herramientas
Herramienta | Qué hace |
| Comprobación de disponibilidad del servidor + configuración. |
| Resuelve URL / ID de arXiv / DOI a metadatos canónicos. Las entradas de arXiv usan la API de exportación de arXiv para título/autores/resumen. |
| Texto completo + división en secciones. Por defecto usa HTML de ar5iv para artículos de arXiv (barato, estructurado), con respaldo a PDF en otros casos. |
| Extracción estructurada de métodos impulsada por LLM y validada con Pydantic. Devuelve |
| Descubre el repositorio de código del artículo mediante texto del artículo → resumen → Papers With Code. |
| Evaluación heurística de reproducibilidad sin clonar, mediante la API REST de GitHub. Señales ponderadas (README, dependencias, fixtures, notebooks, scripts de figuras, mantenimiento reciente, licencia) → |
| Resumen con LLM en tres profundidades. |
| Compuesta — metadatos + métodos + repositorio + reproducibilidad en una sola llamada. |
Todas las herramientas devuelven modelos Pydantic v2 (validados, serializables a JSON). Consulta src/methods_mcp/schemas.py para la superficie completa de tipos.
Notas de diseño
extract_methodsusa el uso de herramientas de Anthropic para forzar al modelo a emitir una instancia del esquema PydanticMethodsStructured. Ante un fallo de validación, enviamos un mensaje de reparación con el error de validación y lo intentamos de nuevo antes de lanzar una excepción.assess_repo_reproducibilityno clona ni ejecuta nada. Puntúa el repositorio a partir de metadatos de GitHub legibles públicamente + el listado recursivo del árbol. Esta es la cuña deliberada contra las herramientas por lotes que intentan reejecutar el artículo.fetch_paper_textprefiere HTML de ar5iv sobre el análisis de PDF para artículos de arXiv. Usapypdfcomo respaldo para entradas que no son de arXiv.El modelo por defecto es
claude-sonnet-4-6. Se puede sobrescribir con la variable de entornoMETHODS_MCP_MODELo con el argumentomodel=por llamada.methods_repro_reviewdevuelve una respuesta autodescriptiva. Cada llamada establece unstatusde nivel superior ("ok"/"partial"/"empty") y una cadenanarrativeque resume todo lo recuperado en inglés sencillo, incluida cada puntuación numérica en contexto. Un lector que lea solonarrative+statusobtiene la imagen completa sin necesidad de aprender las formas de los subobjetos. Los subobjetos pueden sernullcuando no están disponibles (por ejemplo,repro_assessment: nullen un artículo sin repositorio detectado —statuspermanece"ok"porque "no hay repositorio" no es un fallo). Los subpasos fallidos contribuyen con una entrada estructurada aerrorscon{step, error_type, message, hint}, dondehintes una sugerencia accionable en inglés sencillo para patrones reconocidos (claves de API faltantes, límites de tasa, 404, tiempos de espera, etc.) ynullen caso contrario.
Puntuaciones y veredictos explicados
Las salidas de las herramientas contienen tres campos numéricos que parecen similares pero significan cosas muy diferentes. Son señales de triaje para un agente que decide si vale la pena profundizar en un artículo, no afirmaciones calibradas sobre corrección.
Campo | Rango | Cómo se calcula | Cómo leerlo |
| 0–1 | Autoreporte del LLM. El modelo extractor lo establece según las instrucciones del prompt del sistema: | Señal suave para "¿es un artículo de laboratorio húmedo con procedimiento concreto, o un artículo de sistemas escaso?" Útil como indicador; no lo trates como un porcentaje de confianza. |
| 0–1 | Varía según | Te dice cómo se encontró el repositorio y con qué decisión. Puntuación alta + |
| 0–1 | Suma ponderada de 8 señales binarias, todas calculadas desde la API REST de GitHub (sin clonar, sin ejecutar): | La única puntuación totalmente determinista de las tres. Sigue siendo una heurística, no una prueba — una puntuación alta significa que el repositorio parece bien estructurado para la reproducción. Para validación real, consulta Paper2Agent. |
Categorías de veredicto (repro_assessment.verdict) son umbrales sobre overall_score:
Veredicto | Puntuación | Significado |
| ≥ 0.70 | La mayoría de las señales favorables a la reproducción están presentes. Vale la pena intentar ejecutarlo. |
| ≥ 0.45 | Algo de infraestructura, probablemente con carencias. Espera tener que completar las piezas que faltan. |
| ≥ 0.20 | Señal mínima. Posible volcado de código sin el andamiaje para volver a ejecutarlo. |
| < 0.20 o repositorio inaccesible | No hay suficiente información para saberlo. No saques conclusiones en ningún sentido. |
Valores de enumeración que verás en las salidas:
code_repo.detection_method:paper-text|abstract-link|papers-with-code|metadata|nonemetadata.source:arxiv|biorxiv|doi|url|unknown
Seguridad y limitaciones
Lo que este servidor realmente hace cuando lo instalas y ejecutas:
Llamadas de red solo a:
export.arxiv.org,ar5iv.labs.arxiv.org,arxiv.org(PDFs),api.github.com,paperswithcode.com,api.anthropic.com. Sin telemetría, sin análisis, sin llamadas a casa.Lee
ANTHROPIC_API_KEY(necesaria para las herramientas LLM) y opcionalmenteGITHUB_TOKENde las variables de entorno. Estos se envían solo a Anthropic / GitHub respectivamente. Nunca se registran ni se persisten en disco.Escribe nada en tu sistema de archivos. Sin directorios de caché, sin PDFs descargados, sin archivos temporales.
Ejecuta ningún código proporcionado por el usuario. Sin
eval,exec,subprocess,pickle.loadsni llamadas al shell. La herramienta de reproducibilidad deliberadamente no clona ni ejecuta repositorios: solo puntúa desde la API REST de GitHub.
Limitaciones a tener en cuenta:
Los artículos adversarios pueden producir salida estructurada engañosa. La herramienta
extract_methodsenvía el texto del artículo a Claude. Un artículo que contenga contenido de inyección de prompts podría producir métodos estructurados incorrectos (pero válidos según el esquema). Trata la salida como una ayuda de investigación, no como una verdad absoluta.El veredicto de reproducibilidad es una heurística, no una prueba. Una puntuación alta significa que el repositorio parece bien estructurado para la reproducción; no garantiza que ejecutar el código reproduzca el artículo. Para una validación completa, consulta Paper2Agent.
Diseñado para uso local con stdio. Los transportes HTTP/SSE se proporcionan por conveniencia de desarrollo, pero solo deben exponerse en redes de confianza (sin protección SSRF más allá de la que proporciona httpx).
Informe de problemas:
Problemas de seguridad: envía un correo a flynnlachendro@hotmail.co.uk (consulta también SECURITY.md). Errores funcionales: abre un issue en GitHub.
Combínalo con paper-mcp
Para un conjunto de herramientas más amplio de búsqueda de artículos / grafo de citas, ejecuta paper-mcp (Bhvaik) junto con el mismo en la misma sesión de Claude Code. paper-mcp realiza búsqueda por título, obtención de texto completo, citas y referencias; methods-mcp añade la capa de métodos estructurados + reproducibilidad encima. Los dos fueron diseñados intencionalmente para componerse.
Desarrollo local
git clone https://github.com/FlynnLachendro/methods-mcp
cd methods-mcp
uv sync --extra dev --extra agent
uv run pytest # 49 tests, offline (respx-mocked httpx + unittest.mock for Anthropic)
uv run ruff format .
uv run ruff check . --fix
uv run mypy src
uv run methods-mcp --helpLicencia
MIT — consulta LICENSE.
Agradecimientos
Construido para la cohorte inaugural de la Worldwide AI Science Fellowship. Gracias a Michael Raspuzzi por el encargo abierto.
Construido sobre:
FastMCP 3.x — el andamiaje del servidor MCP.
Claude Agent SDK — el bucle de agente en la demo.
ar5iv.labs.arxiv.org — HTML limpio para artículos de arXiv.
Anthropic Claude — el LLM detrás de la extracción estructurada.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables discovery and analysis of research ecosystems by extracting metadata from paper URLs, GitHub repositories, and research names. Automatically finds related papers, code repositories, models, datasets, and authors across platforms like arXiv, HuggingFace, and GitHub.
- AlicenseNot gradedqualityDmaintenanceEnables arXiv paper search, PDF download, text extraction, and context chunking for LLM pipelines, along with advanced features like citation graphs and reproducibility scoring.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables users to search and analyze academic papers from multiple sources, fetch metadata and full text, and build structured outputs like literature maps and paper comparisons.21MIT
- FlicenseAqualityDmaintenanceEnables agents to search papers across Semantic Scholar and arXiv, read and extract text from arXiv PDFs, align records across sources, and produce structured literature-analysis digests.101
Related MCP Connectors
Reliable PDF table extraction. Pass a URL, get structured JSON tables with citations.
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Turns any URL into SEO metadata, contacts, tech stack, and AI-ready Markdown, in one call.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FlynnLachendro/methods-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server