Token导航 LogoToken导航TokenDH.com
MCP Crash Course Udemy logo
AI代理stdio官方级别未说明来源级核验

MCP Crash Course Udemy

MCP Server

一个基于上下文模型协议(MCP)的服务,用于管理和连接不同的语言模型和工具,支持动态文档创建、文件管理和LLM集成。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

felipetobars

提供方

felipetobars

最后核验

2026/5/17 20:19

运行时

Python

快速接入

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

命令预览

uvx --from mcpdoc mcpdoc --urls "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt" "LangChain:https://python....

详细介绍

CURSO MCP CRASH COURSE: CONTEXT MODEL PROTOCOL

Basado en los siguientes recursos:

  • https://github.com/emarco177/mcp-crash-course
  • https://modelcontextprotocol.io/docs/getting-started/intro

Sección 1: Introducción a MCP

Sección 2:

  1. Usar MCP Server existentes con Claude/VSCODE

https://github.com/modelcontextprotocol/quickstart-resources/tree/main/weather-server-typescript

Sección 3 y 4:

Documentación dinámica usando llms.txt y llms_full.txt: https://github.com/langchain-ai/mcpdoc -> instalar MCP

crear entorno virtual, instalar dependencias y ejecutar: Con el entorno activado:

uvx --from mcpdoc mcpdoc --urls "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt" "LangChain:https://python.langchain.com/llms.txt"  --transport sse --port 8082  --host localhost

En otra terminal (tener instalado npm):

npx @modelcontextprotocol/inspector

Para agregar el MCP:

{
  "mcpServers": {
    "langgraph-docs-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "mcpdoc",
        "mcpdoc",
        "--urls",
        "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt LangChain:https://python.langchain.com/llms.txt",
        "--transport",
        "stdio"
      ]
    }
  }
}

Sección 5: MCP para administrar archivos del pc

Configuración del entorno con uv:

uv init shellserver
uv venv
".venv\Scripts\activate"
uv add fastmcp

Agregar páginas a los docs de Cursor: https://github.com/modelcontextprotocol/python-sdk y https://modelcontextprotocol.io/ Crear carpeta .cursor rules con el archivo rules.md para las reglas de Cursor. y usar plantillas en https://cursor.directory/fastapi-python-cursor-rules

Para ejecutar el MCP server en Docker, dentro de la carpeta de shellserver se crea el Dockerfile y se ejecuta:

docker build -t shellserver-app .
docker run -it --rm shellserver-app

Hasta ahora el JSON de Claude corría todo este MCP Server con uv:

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\quickstart-resources\\weather-server-python",
        "run",
        "weather.py"
      ]
    },
    "langgraph-docs-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "C:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\mcpdoc",
        "mcpdoc",
        "--urls",
        "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt LangChain:https://python.langchain.com/llms.txt",
        "--transport",
        "stdio"
      ]
    },
    "shell": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\MCP_Crash_Course_Udemy\\05-seccion_MCP_local\\shellserver",
        "run",
        "server.py"
      ]
    }
  },
  "preferences": {
    "coworkWebSearchEnabled": true,
    "coworkScheduledTasksEnabled": false,
    "ccdScheduledTasksEnabled": false,
    "sidebarMode": "chat"
  }
}

Pero para que se pueda ejecutar usando el contenedor de Docker:

    },    
    "docker-shell": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e",
        "DOCKER_CONTAINER=true",
        "shellserver-app"
      ]
    }

Completo hasta sección 5:

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\quickstart-resources\\weather-server-python",
        "run",
        "weather.py"
      ]
    },
    "langgraph-docs-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "C:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\mcpdoc",
        "mcpdoc",
        "--urls",
        "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt LangChain:https://python.langchain.com/llms.txt",
        "--transport",
        "stdio"
      ]
    },
    "shell": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\MCP_Crash_Course_Udemy\\05-seccion_MCP_local\\shellserver",
        "run",
        "server.py"
      ]
    },    
    "docker-shell": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e",
        "DOCKER_CONTAINER=true",
        "shellserver-app"
      ]
    }
  },
  "preferences": {
    "coworkWebSearchEnabled": true,
    "coworkScheduledTasksEnabled": false,
    "ccdScheduledTasksEnabled": false,
    "sidebarMode": "chat"
  }
}

Sección 6 y 8: Conexión con clientes LLM - "tool calling mechanisms" y MCP

1. Práctica: langchain + MCP Adapters

https://github.com/langchain-ai/langchain-mcp-adapters

Crear nuevamente la carpeta del proyecto, iniciar uv init, crear entorno con uv venv, activar y configurar:

uv add python-dotenv langchain langchain-mcp-adapters langgraph langchain-google-genai langchain-ollama isort rich

Para hacer tracing se deben usar las variables de entorno para el proyecto en LangSmith (se necesita que el entorno sea python >= 3.11):

LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGSMITH_API_KEY=aqui_va_la_api_key
LANGSMITH_PROJECT="nombre_del_proyecto_creado_en_langsmith"
uv add langgraph-cli --dev
uv add "langgraph-cli[inmem]" --dev

2. Práctica: Multi Server Client

Se ajustó el weather_server.py para enviarle el nombre de una ciudad y que obtenga su latitud y longitud usando geopy, y luego con esa información obtener el clima de esa ciudad usando la API de Open-Meteo.

Se debe ejecutar weather_server.py con el transport en SSE y luego en otra terminal el langchain_client.py


## Sección 7: Prompts y Resources

### 1. Práctica Prompts

https://github.com/emarco177/mcp-crash-course/tree/project/prompts

Crear nuevamente la carpeta del proyecto, iniciar uv init, crear entorno con uv venv, activar y configurar:

uv add fastmcp

Luego de tener el main.py, se configura en Claude (solo sirve con transport STDIO):

, "research-prompt-mcp": { "command": "c:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\MCP_Crash_Course_Udemy\\07-seccion_prompts\\prompts\\.venv\\Scripts\\python.exe", "args": ["C:\\Users\\lftob\\Documents\\PROYECTOS_ESTUDIO\\ML_Engineer\\MCP_Udemy\\MCP_Crash_Course_Udemy\\07-seccion_prompts\\prompts\\main.py"] }

Probar desde MCP Inspector con transport HTTP:
Ejecuta el main.py de prompt con el transport en HTTP y luego en otra terminal el MCP inspector:

uv run main.py npx @modelcontextprotocol/inspector

![alt text](assets/image.png)

### 2. Practica Resources

Cada tipo de resource tiene una forma estándar de definirse en MCP (FastMCP): https://modelcontextprotocol.info/docs/concepts/resources/

- file:///home/user/documents/report.pdf
- postgres://database/customers/schema
- screen://localhost/display1

Se verán recursos **Estáticos** y **Dinámicos**:

Configurar entorno con uv, instalar dependencias y ejecutar:

uv init uv venv ".venv/Scripts/activate" uv add fastmcp

#### OBJETIVO DEL main.py:

Mini Pokédex Lite - Demostración de Recursos FastMCP 2.0 (Versión Asíncrona)

Este demo enseña recursos de MCP proporcionando una interfaz simple de Pokédex. Demuestra:

  • Listado estático de recursos con @mcp.resource (async)
  • Plantillas dinámicas de recursos con parámetros URI (async)
  • Integración con API externa usando PokeAPI (async httpx)
  • Manejo de errores y respuestas JSON
  • Patrones adecuados de async/await

Uso: python main.py

Recursos de MCP proporcionados:

  • poke://pokemon/1 (Bulbasaur)
  • poke://pokemon/4 (Charmander)
  • poke://pokemon/7 (Squirtle)
  • poke://pokemon/{id} (Cualquier Pokémon por ID)
Claude Desktop no soporta recursos con transport HTTP, por lo que se debe usar el transport STDIO para probarlo. Además, sólo soporta recursos estáticos.
Cursor tampoco.
**NOTA:** En el curso usan claude code que sí soporta recursos dinámicos. Como no tengo Claude Code decidí convertir los resources en tools

Configuración del entorno:

Configuración:

uv init
uv venv
".venv/Scripts/activate"
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
uv add ipykernel --dev
uv add grandalf --dev
uv add fastapi[standard]
uv add langgraph-checkpoint-postgres
uv add psycopg psycopg-binary
uv add langchain langgraph langchain-community langchain-google-genai langchain-ollama langchain-experimental langchain-openai python-dotenv pypdf chromadb langchain-chroma  "onnxruntime==1.19.2" Jinja2 

También se necesatia el debugger propio de LangGraph, que puede ser instalado con ("--dev" indica que es una dependencia de desarrollo, no necesaria para producción):

uv add langgraph-cli --dev
uv add "langgraph-cli[inmem]" --dev

Lo que se haya instalado con uv add se reflejará en el archivo pyproject.toml, y lo que se haya instalado con uv pip install no. ``uv pip install -e``

Se debe crear un archivo de configuración *"langgraph.json"*.

PARA FEBRERO DE 2026 AHORA LA VISUALIZACIÓN YA NO ES OPENSOURCE - ES CON LANGSMITH Y CUESTA

  1. *Crear cuenta en langsmith:*

alt text

  1. *Crear API de LangSmith*:

alt text

  1. Colocar la API Key en el archivo .env:

Ejecutar ```langgraph dev``` o con ```uv run langgraph dev```
![alt text](images_course/image3.png)

## Clase 3: Ajuste de estructura del proyecto para uso de varios agentes

notebooks/ notebook.ipynb src/ agents/ __init__.py main.py api/ __init__.py

En el .toml se debe indicar que los paquetes se encuentran en la carpeta src, y que se deben incluir todos los archivos:

where = ["src"] include = ["*"]


Para aplicar los cambios, se debe ejecutar ```uv pip install -e .```

Para ejecutar con fastapi se debe iniciar el contenedor docker con docker compose, con el comando:

Luego lanzar con fastapi dev ruta/al/src/api/main.py

目录标签

目录标签

PythonClaudeAI代理语言模型集成本地部署动态文档文件管理工具调用机制

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP