Skip to content

feat: provide the chat of the rag by MCP #27

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft

feat: provide the chat of the rag by MCP #27

wants to merge 22 commits into from

Conversation

a-klos
Copy link
Member

@a-klos a-klos commented Jun 16, 2025

This pull request introduces a new "MCP Server" component to the project, including its build process, configuration, and integration into the existing infrastructure. It adds Dockerfile definitions, dependency management, OpenAPI client generation, and Tiltfile updates for deployment. Below are the most significant changes categorized by theme:

MCP Server Setup and Build

  • Added mcp-server/Dockerfile to define a multi-stage build process for the MCP server, including dependency installation and environment setup.
  • Introduced mcp-server/pyproject.toml for dependency and development tool configuration using Poetry.

OpenAPI Client Integration

  • Generated OpenAPI client files in mcp-server/src/rag_backend_client/openapi_client/ for interacting with the backend API, including models, API classes, and documentation. [1] [2] [3]
  • Added mcp-server/api-generator.sh to automate OpenAPI client generation.

Dependency Injection and Application Entry

  • Created mcp-server/src/dependency_container.py to manage application dependencies using a dependency injection container.
  • Added mcp-server/src/main.py as the entry point for running the MCP server, including logging setup.

Deployment and Configuration

  • Updated Tiltfile to include the MCP server in the deployment pipeline, with Docker build and live update configurations.
  • Added Kubernetes resource configuration and port forwarding for the MCP server in the Tiltfile.

Miscellaneous

  • Added .openapi-generator-ignore and .openapi-generator/VERSION to manage OpenAPI generator output and versioning. [1] [2]

@a-klos a-klos requested a review from Copilot June 16, 2025 11:21
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new MCP Server component, including build and deployment setup, OpenAPI client generation, dependency injection, and an application entry point.

  • Added multi-stage Dockerfile and Poetry configuration for the MCP server.
  • Generated OpenAPI client code under src/rag_backend_client with an API generator script.
  • Configured dependency injection (dependency_container.py), entry point (main.py), and Tiltfile updates for build, live update, and linting.

Reviewed Changes

Copilot reviewed 57 out of 57 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
mcp-server/Dockerfile Defines multi-stage build for the MCP server image
mcp-server/pyproject.toml Poetry setup with project dependencies and dev tools
mcp-server/src/dependency_container.py Declarative DI container wiring settings, API client, server
mcp-server/src/main.py Application entry point with logging and container bootstrap
Tiltfile Adds MCP server image build, live update, and lint resource
mcp-server/api-generator.sh Bash script to generate OpenAPI Python client
mcp-server/src/rag_backend_client/openapi_client/docs/DeleteRequest.md Generated API model documentation
Comments suppressed due to low confidence (2)

Tiltfile:202

  • [nitpick] The linter resource name back is ambiguous. Consider renaming it to something like mcp-server-lint for clarity.
create_linter_command(mcp_context, "back"),

mcp-server/src/rag_backend_client/openapi_client/docs/DeleteRequest.md:9

  • The metadata property lacks a description. Consider adding a description in the OpenAPI spec so that generated docs are more informative.
**metadata** | [**List[KeyValuePair]**](KeyValuePair.md) |  | [optional]

Copy link
Collaborator

@huhn511 huhn511 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick: change the description of the OpenAPI Generator with correct name (STACKIT instead of Stackit) and a better description.

# flake8: noqa

"""
RAG SIT x Stackit
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove - or STACKIT in uppercase


# flake8: noqa
"""
RAG SIT x Stackit
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove or STACKIT in uppercase

# coding: utf-8

"""
RAG SIT x Stackit
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove or STACKIT in uppercase

# coding: utf-8

"""
RAG SIT x Stackit
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove or STACKIT in uppercase

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants