Przejdź do treści

Szukaj w dokumentacji

Wpisz, aby przeszukać każdą stronę dokumentacji.

Menu dokumentacji
PrzewodnikOdbiorcy · Programiści i twórcy agentów

Serwer MCP

Twoi agenci, wykrywalni przez każdego klienta MCP

Ta strona została przetłumaczona automatycznie z języka angielskiego. W razie rozbieżności pierwszeństwo ma oryginał.Przeczytaj oryginał w języku angielskim

Każda aplikacja Agent-Lab zawiera serwer Model Context Protocol zbudowany na FastMCP, zamontowany pod /mcp (Streamable HTTP, bezstanowy). Klienci MCP — Claude Desktop, IDE, twoi własni agenci — mogą wykrywać agentów aplikacji, odczytywać historię dialogów i rozmawiać z agentami bezpośrednio. Serwer oraz jego rejestratory narzędzi i promptów korzystają z tego samego mechanizmu wykrywania co agenci: scan_packages i grupy entry pointów agent_lab.agents.

Co udostępnia serwer

Narzędzie Opis
get_agent_list Wyświetla listę agentów zarejestrowanych w działającej aplikacji
get_message_list Odczytuje historię dialogów agenta
post_message Wysyła wiadomość do agenta — komunikacja między agentami
read_prompt_mcp Odczytuje szablon promptu; udostępniany także jako prompt MCP (prompts/get) i zasób (prompt://)

Ta trójka mechanizmów promptów udostępnia domyślne prompty systemowe każdego typu agenta, z nadpisaniami dla poszczególnych tenantów przez agent_type + setting_key.

Wypróbuj w MCP Inspector

Uruchom MCP Inspector i połącz się ze swoją aplikacją (np. http://localhost:18000/mcp, transport: Streamable HTTP):

npx @modelcontextprotocol/inspector

Otwórz konsolę webową (użyj linku proxy wyświetlonego w konsoli).

Demonstracja MCP Inspector

Połącz Claude Desktop

Uwaga: Claude Desktop jest tu używany wyłącznie w celach demonstracyjnych. Ten projekt nie jest powiązany z Anthropic AI.

  1. Zainstaluj most mcp-proxy, którego Claude Desktop używa do łączenia się ze zdalnymi serwerami HTTP:

    pip install mcp-proxy
  2. Otwórz Settings → Developer → Edit Config i edytuj claude_desktop_config.json (dostosuj endpoint do swojej instalacji; środowisko Pythona musi zawierać mcp-proxy):

Konfiguracja Claude Desktop 1

Konfiguracja Claude Desktop 2

Konfiguracja Claude Desktop 3

  1. Uruchom ponownie Claude Desktop i ponownie przejdź do Settings → Developer — Agent-Lab powinien być widoczny:

Konfiguracja Claude Desktop 4

  1. Wypróbuj: poproś Claude o wyświetlenie listy agentów, pobranie historii dialogów instancji nadzorowanego agenta programisty lub pokazanie fragmentu kodu wygenerowanego wcześniej przez agenta:

Demonstracja Claude Desktop

Demonstracja Claude Desktop

OpenAI Responses API

Hostowane narzędzie Model Context Protocol (MCP) w Responses API ułatwia łączenie z usługami zewnętrznymi: wystarczy raz skonfigurować model tak, aby wskazywał serwer MCP — działa on jako scentralizowany host narzędzi. (Źródło: MCP Tool Guide)

Notatnik demonstrujący integrację OpenAI Responses API z serwerem MCP Agent-Lab jest dostępny w notebooks/11_mcp_client-openai-responses.ipynb.

Dodawanie własnych narzędzi i promptów

Wszystko jest wykrywane w ten sam sposób co agenci — dodaj dekorator i (w przypadku konsumentów biblioteki) upewnij się, że twój pakiet znajduje się w scan_packages lub jest opublikowany przez grupę entry pointów agent_lab.agents.

Narzędzie — zwykła funkcja asynchroniczna; jej pierwszy parametr container jest wstrzykiwany z kontenera DI i ukryty przed klientami:

from agent_lab import discoverable_mcp_tool


@discoverable_mcp_tool(
    "my_hello_tool",
    description="Returns a friendly greeting.",
    annotations={"readOnlyHint": True},
)
async def hello_tool(container, name: str) -> str:
    return f"Hello, {name}!"

Prompt — udostępniany przez pełną trójkę mechanizmów promptów (narzędzie / prompts/get / zasób prompt://):

from agent_lab import discoverable_mcp_prompt


@discoverable_mcp_prompt("my_greeting_prompt")
def greeting_prompt() -> str:
    return "Greet the user warmly and briefly."

Zaawansowane — pełna podklasa McpRegistrar (lub PromptSetRegistrar) dla niestandardowych zestawów narzędzi, promptów i zasobów, przez @discoverable_mcp_registrar(extra_deps=(...)). Aby dodać instrukcje MCP dla klientów, przekaż fragmenty podczas składania aplikacji:

app = create_app(mcp_instructions=["Extra guidance for MCP clients."])

Gotowy przykład znajduje się w wygenerowanym szkielecie (mcp/tools.py, mcp/prompts.py) — zobacz Twój pierwszy agent.

Uwierzytelnianie

Gdy uwierzytelnianie jest włączone, klienci MCP uwierzytelniają się przez proxy OAuth oparte na Keycloak: weryfikacja JWT względem JWKS realmu (zakresy openid, profile, email) oraz przechowywanie klientów OAuth w Redis (szyfrowane). Aplikacja publikuje standardowe endpointy metadanych (/.well-known/oauth-protected-resource/mcp, /.well-known/oauth-authorization-server/mcp), dzięki czemu zgodni klienci mogą skonfigurować się samodzielnie.