Ejemplomcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ejemplomcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Un servidor Model Context Protocol (MCP) que expone funciones para consultar la API de JSONPlaceholder (https://jsonplaceholder.typicode.com).
pip install -r requirements.txtPara conectar este servidor MCP con Claude Desktop:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json {
"mcpServers": {
"jsonplaceholder": {
"command": "python",
"args": ["c:\\Users\\Dell3\\IdeaProjects\\MyFirstMCP\\server.py"],
"env": {}
}
}
}⚠️ Importante: Ajusta la ruta en args según tu ubicación del proyecto.
# Opción 1: Script automático
start_server.bat
# Opción 2: Manual
python server.pypython client_test.pyget_postsObtiene posts de JSONPlaceholder.
Parámetros:
user_id (opcional): ID del usuario para filtrar postspost_id (opcional): ID específico del post a obtenerEjemplos:
# Obtener todos los posts
await mcp.call_tool("get_posts", {})
# Obtener posts del usuario 1
await mcp.call_tool("get_posts", {"user_id": 1})
# Obtener post específico
await mcp.call_tool("get_posts", {"post_id": 5})get_usersObtiene usuarios de JSONPlaceholder.
Parámetros:
user_id (opcional): ID específico del usuario a obtenerEjemplos:
# Obtener todos los usuarios
await mcp.call_tool("get_users", {})
# Obtener usuario específico
await mcp.call_tool("get_users", {"user_id": 3})get_commentsObtiene comentarios de JSONPlaceholder.
Parámetros:
post_id (opcional): ID del post para obtener sus comentariosEjemplos:
# Obtener todos los comentarios
await mcp.call_tool("get_comments", {})
# Obtener comentarios de un post específico
await mcp.call_tool("get_comments", {"post_id": 1})create_postCrea un nuevo post (simulado).
Parámetros (obligatorios):
title: Título del postbody: Contenido del postuser_id: ID del usuario que crea el postEjemplo:
await mcp.call_tool("create_post", {
"title": "Mi Nuevo Post",
"body": "Contenido del post...",
"user_id": 1
})Una vez configurado, puedes usar las funciones directamente en Claude:
"Obtén todos los posts del usuario 1"
"Muéstrame los comentarios del post 5"
"Crea un nuevo post con título 'Hola Mundo' y contenido 'Este es mi primer post'"
"¿Cuántos usuarios hay registrados?"MyFirstMCP/
├── server.py # Servidor MCP principal
├── client_test.py # Cliente de prueba
├── requirements.txt # Dependencias Python
├── claude_desktop_config.json # Configuración para Claude Desktop
├── install.bat # Script de instalación
├── start_server.bat # Script para iniciar servidor
├── test_client.bat # Script para probar cliente
└── README.md # Esta documentaciónpip install mcpclaude_desktop_config.json sea correctaEjecuta el terminal como administrador o ajusta la ruta del proyecto.
Este proyecto es de código abierto.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.