Token导航 LogoToken导航TokenDH.com
MCP Certificate logo
开发工具stdio官方级别未说明来源级核验

MCP Certificate

MCP Server

一个关于Model Context Protocol (MCP)的指导课程,包括章节笔记本、实际示例和参考资料,帮助理解MCP及其安全含义,集成MCP到工具如Gemini CLI和Windsurf,以及创建自己的MCP服务器。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Jupyter Notebook安全协议PythonClaude开发工具Claude DesktopClaudeWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SergiFuster

提供方

SergiFuster

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run fastmcp --help

详细介绍

MCP Certificate (Curso Guiado)

Repositorio de una clase guiada sobre Model Context Protocol (MCP). Incluye cuadernos por capítulos, ejemplos prácticos y material de referencia para aprender a:

  • Entender qué es MCP y sus implicaciones de seguridad.
  • Integrar MCPs en herramientas como Gemini CLI y Windsurf.
  • Crear tu propio servidor MCP con FastMCP, incluyendo generación desde un OpenAPI y pruebas locales.

Prerrequisitos

Conocimientos previos

  • Python básico: familiaridad con pip, entornos virtuales y ejecución de scripts
  • Git: conocimientos básicos de clonado de repositorios y control de versiones
  • JSON/REST APIs: comprensión de APIs REST y formato JSON (para Chapter 3)
  • Terminal/línea de comandos: comodidad ejecutando comandos en terminal

Software requerido

1. UV (gestor/runner de Python)

Propósito: gestión de dependencias y ejecución de módulos mcp de python.

Instalación: Accede a https://docs.astral.sh/uv/getting-started/installation/#installation-methods e instala para tu sistema operativo.

Verificación:

uv --version

2. Git

Propósito: clonar el repositorio.

Instalación:

  • Descarga desde https://git-scm.com/download/win
  • Durante la instalación, acepta las opciones por defecto
  • Asegúrate de marcar "Git from the command line and also from 3rd-party software"

Verificación:

git --version

3. Windsurf Editor

Propósito: editor con IA integrada para trabajar con MCPs en el entorno Cascade y seguir este curso guiado.

Instalación:

  • Descarga desde https://windsurf.com/download
  • Instala siguiendo el asistente por defecto

Configuración inicial:

  • Al abrir por primera vez, configura tu cuenta si es necesario
  • Instala las extensiones recomendadas para Python y Jupyter.

4. Node.js (versión LTS)

Propósito: ejecutar herramientas MCP escritas en JavaScript, MCP Inspector, gemini-cli y Claude Desktop.

Instalación:

  • Descarga la versión LTS desde https://nodejs.org/
  • IMPORTANTE: Durante la instalación, marca "Add to PATH" para poder usar node y npm desde terminal
  • Acepta instalar herramientas adicionales cuando se solicite

Verificación:

node --version
npm --version

Configuración adicional (recomendado):

# Actualizar npm a la última versión
npm install -g npm@latest

5. Docker Desktop (opcional)

Propósito: ejecutar MCPs en contenedores para mayor aislamiento y seguridad.

Instalación:

  • Descarga desde https://www.docker.com/products/docker-desktop
  • Ejecuta el instalador y reinicia el sistema si se solicita
  • Inicia Docker Desktop tras la instalación

Verificación:

docker --version
docker compose version

Configuración del proyecto

Paso 1: Clonar el repositorio

git clone https://github.com/SergiFuster/MCP-certificate.git
cd MCP-certificate

Paso 2: Configurar entorno Python

# Crear entorno virtual con UV
uv venv

# Sincronizar e instalar todas las dependencias
uv sync

Paso 3: Verificar instalación

# Verificar que FastMCP está disponible
uv run fastmcp --help

# Verificar que Jupyter está disponible para los notebooks
uv run jupyter --version

Paso 4: Abrir el proyecto

# Abrir con Windsurf (si está en PATH)
windsurf .

# Alternativa: abrir Windsurf manualmente y seleccionar la carpeta del proyecto

APIs y claves necesarias

Para completar todos los ejercicios del curso necesitarás las siguientes claves API (puedes obtenerlas durante el curso):

  • Brave Search API: para el Chapter 2 (MCP de búsqueda web)

- Registrarse en: https://api.search.brave.com/ - Variable de entorno: BRAVE_API_KEY

  • Context7 API (opcional): para integración con Windsurf en Chapter 2

- Registrarse en: https://context7.com/ - Variable de entorno: CONTEXT7_API_KEY

  • OpenAI/Anthropic/Google (opcional): para TaskMaster AI en Chapter 2

- Configurable con múltiples proveedores

Resolución de problemas comunes

Error de permisos en Windows:

# Ejecutar PowerShell como administrador si hay problemas de permisos
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

UV no encontrado tras instalación:

  • Reinicia la terminal
  • Verifica que esté en PATH: echo $env:PATH (PowerShell) o echo %PATH% (CMD)

Node.js no encontrado:

  • Reinicia la terminal tras la instalación
  • Verifica que esté en PATH

Docker no inicia:

  • Asegúrate de que la virtualización esté habilitada en BIOS
  • En Windows, habilita WSL2 si se solicita

Índice


Qué son los MCP — Chapter1/

Contenido en Chapter1/chapter_1.ipynb.

  • Conceptos: introducción a MCP y su rol como puente entre LLMs y herramientas/servicios.
  • Seguridad: MCP abre la puerta a prompt injection si no se gestiona bien. Recomendaciones:

- Usar implementaciones oficiales. - Probar MCPs y auditar respuestas. - Usar claves con permisos/alcance mínimos. - Trabajar con cuentas/repositorios con información limitada.

  • Cómo inspeccionar MCPs:

- Uso de MCP Inspector (npx -y @modelcontextprotocol/inspector). - Diferencias entre MCP tipo STDIO (se ejecutan como procesos locales con command/args/env) y MCP tipo HTTP (servidor accesible por red con SSE/headers).


Casos de uso — Chapter2/

Contenido en Chapter2/chapter_2.ipynb.

  • Gemini CLI: instalación y uso de MCPs desde la CLI de Google Gemini.

- Ejemplos de configuración para MCPs de terceros como Obsidian y Brave Search.

  • Obsidian MCP: configuración vía uvx mcp-obsidian y variables de entorno (API Key, host/puerto).
  • Brave Search MCP: configuración vía npx @brave/brave-search-mcp-server con BRAVE_API_KEY.
  • Windsurf: instalación y configuración de MCPs dentro del chat de Cascade.

- Context7: servidor HTTP con serverUrl y header CONTEXT7_API_KEY. - TaskMaster AI: servidor STDIO via npx task-master-ai con múltiples API Keys soportadas; selección de modelo y uso en el chat.


FastMCP: crea tu servidor MCP — Chapter3/

Contenido en Chapter3/chapter_3.ipynb y ejemplos en Chapter3/src/.

  • Crear un servidor básico (FastMCP):

- Chapter3/src/mcp_server_example.py define un servidor sencillo con un tool greet(name: str). - Ejecución típica:

    # Desde la raíz del repo (tras uv sync)
    cd Chapter3/src/
    fastmcp run mcp_server_example.py:mcp
    # HTTP (opcional)
    fastmcp run mcp_server_example.py:mcp --transport http --port 8000
  • Probar el servidor (cliente FastMCP):

- En el notebook Chapter3/chapter_3.ipynb hay un ejemplo con Client("http://localhost:8000/mcp") que llama al tool greet.

  • Generar un servidor MCP desde un OpenAPI:

- Chapter3/src/mcp_server_from_openapi_spec.py muestra cómo: 1) Cargar openapi.json de un API (ej. un FastAPI local) y 2) Crear un servidor MCP con FastMCP.from_openapi(...) usando un httpx.AsyncClient. - Requisitos: que el API objetivo esté corriendo y accesible.

  • Servidor FastAPI de ejemplo:

- Chapter3/src/fastapi_server_example.py implementa CRUD en memoria con FastAPI. - Exporta OpenAPI en http://127.0.0.1:8000/openapi.json al levantar el servidor.


Cómo ejecutar los ejemplos

Antes de empezar, asegúrate de haber hecho uv sync y de estar usando el entorno (source .venv/bin/activate si no usas uv run).

  • FastAPI (CRUD + OpenAPI):

1. Instala Uvicorn si hace falta:

     uv add "uvicorn[standard]"

2. Ejecuta el servidor de ejemplo:

     uv run python Chapter3/src/fastapi_server_example.py
     # o (si tienes uvicorn):
     uv run uvicorn Chapter3.src.fastapi_server_example:app --reload --host 127.0.0.1 --port 8000

3. Verifica: - Salud: http://127.0.0.1:8000/health - OpenAPI: http://127.0.0.1:8000/openapi.json

  • FastMCP (servidor básico):
  cd Chapter3/src/
  uv run fastmcp run mcp_server_example.py:mcp
  # HTTP (opcional)
  uv run fastmcp run mcp_server_example.py:mcp --transport http --port 8000
  • FastMCP desde OpenAPI:

1. Asegura que un API (por ejemplo el FastAPI anterior) está corriendo en http://127.0.0.1:8000. 2. En otra terminal:

     uv run python Chapter3/src/mcp_server_from_openapi_spec.py
  • Cliente de prueba (desde notebook):

- Abre Chapter3/chapter_3.ipynb y ejecuta la celda que crea Client("http://localhost:8000/mcp") y llama al tool greet.


Estructura del repositorio

Chapter1/
  chapter_1.ipynb
  src/
    comic.png
    security-schema.png
    security.jpeg
Chapter2/
  chapter_2.ipynb
Chapter3/
  chapter_3.ipynb
  src/
    fastapi_server_example.py
    mcp_server_example.py
    mcp_server_from_openapi_spec.py
pyproject.toml
README.md

Dependencias clave

Definidas en pyproject.toml:

  • fastapi
  • fastmcp
  • ipykernel

Instálalas con:

uv sync

Referencias

  • Model Context Protocol — https://modelcontextprotocol.io/docs/getting-started/intro
  • Repositorio oficial de servidores MCP — https://github.com/modelcontextprotocol/servers
  • Gemini CLI — https://github.com/google-gemini/gemini-cli
  • Context7 — https://context7.com/
  • TaskMaster AI — https://www.task-master.dev/
  • FastMCP — https://gofastmcp.com/getting-started/quickstart

目录标签

目录标签

Jupyter Notebook安全协议PythonClaude开发工具本地部署MCP协议Python开发API集成

支持客户端

Claude DesktopClaudeWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP