KA

khshanovskyi/ai-dial-mcp-fundamentals

Developer tools
46 stars 0 forks 品質 45 トレンド 45

Python implementation for building Users Management Agent with MCP tools and MCP server

概要

Python implementation for building Users Management Agent with MCP tools and MCP server

README

Framework-based MCP (Server & Client)

Python implementation for building Users Management Agent with MCP tools and MCP server

🎯 Task Overview

Create and run MCP server with simple tools. Implement simple Users Management Agent with MCP Client that will use MCP tools from created server.

🎓 Learning Goals

By exploring and working with this project, you will learn:

  • How to configure simple MCP server
  • How to configure client and connect to MCP server
  • How to create simple Agent with tools from MCP server
  • Key features of MCP

🏗️ Architecture

task/
├── agent/
│   ├── models/           
│   │   └──message.py        ✅ Complete
│   ├── app.py                🚧 TODO: implement logic
│   ├── promps.py             🚧 TODO: write system prompt
│   ├── dial_client.py        🚧 TODO: implement logic
│   └── mcp_cleint.py         🚧 TODO: implement logic
└── mcp_server/               
    ├── server.py             🚧 TODO: implement logic
    ├── user_client.py        ✅ Complete
    └── Dockerfile            ✅ Complete

📋 Requirements

  • Python: 3.11 or higher
  • Dependencies: Listed in requirements.txt
  • API Access: DIAL API key with appropriate permissions
  • Network: EPAM VPN connection for internal API access
  • Docker and Docker Compose
  • Postman

✍️ Tasks:

If the task in the main branch is hard for you, then switch to the with-detailed-description branch

You need to implement the Users Management Agent, that will be able to perform CRUD operations within User Management Service.

Create and run MCP server:

  1. Run root docker-compose (Optional step in case if you have it from previous tasks)
  2. Open mcp_server
  3. Implement all TODO
  4. Run mcp_server

OPTIONAL: Work with MCP server in Postman

  1. Import mcp.postman_collection to Postman
  2. Make init call and get mcp-session-id in response headers
  3. Make init-notification. Pay attention that you need to use mcp-session-id retrieved from init request. it should return 202 status
  4. Get tools (don’t forget about mcp-session-id). It should return stream with tools.
  5. Call calculator (don’t forget about mcp-session-id). It should return stream tool execution result.

Create and run Agent:

  1. Open mcp_client and implement all TODO
  2. Open dial_client and implement all TODO
  3. Open prompts and write System prompt
  4. Open app and implement all TODO
  5. Run application mcp_client and test that it is connecting to MCP Server and works properly
  6. Try with your solution with fetch MCP https://remote.mcpservers.org/fetch/mcp and check the differences on the init step (what they have and don’t)

OPTIONAL: Support both (users-management and fetch) MCP servers:

  1. Remember that we have 1-to-1 connection between MCP client and MCP server!
  2. You need to think of the way how to change current flow to support tools from different MCP servers and implement it
  3. In the end you should have the Agent that is able to fetch the info from the WEB about some people and save it to Users Service
  4. Hint: the problem place is dial_client

View this README on GitHub

インストール

This server does not publish a one-line install command.

Open the repository installation guide