Skip to content

feat: make mcptool description configurable#55

Merged
a-klos merged 8 commits into
mainfrom
feat/make-mcptool-description-configurable
Jul 18, 2025
Merged

feat: make mcptool description configurable#55
a-klos merged 8 commits into
mainfrom
feat/make-mcptool-description-configurable

Conversation

@a-klos
Copy link
Copy Markdown
Member

@a-klos a-klos commented Jul 17, 2025

This pull request introduces significant updates to the MCP server, including the addition of an extensible docstring system, restructuring of file paths, and enhancements to configuration and testing setups. These changes aim to improve maintainability, scalability, and developer experience.

Enhancements to MCP Server Functionality

  • Added a new extensible docstring system (DocstringTemplateSystem) that uses Jinja2 templates to dynamically generate method docstrings based on configuration. This includes the extensible_docstring decorator and setup_extensible_docstrings utility for seamless integration. (services/mcp-server/src/docstring_system.py, services/mcp-server/src/rag_mcp_server.py) [1] [2] [3]
  • Updated the MCPSettings class to include detailed configuration options for chat_simple and chat_with_history methods, such as descriptions, parameter details, return types, and examples. These settings are used by the new docstring system. (services/mcp-server/src/settings/mcp_settings.py) [1] [2]

Restructuring and Path Updates

  • Refactored file paths in .vscode/settings.json and conftest.py to align with the new directory structure under services/. This includes adding mcp-server/src and updating imports for backend services. (.vscode/settings.json, conftest.py) [1] [2]

Infrastructure and Configuration Updates

  • Enhanced the Helm chart configuration (configmap.yaml, values.yaml) to support additional metadata for the MCP server, such as host, descriptions, and examples for chat tools. These changes enable better customization and documentation. (infrastructure/rag/templates/backend/configmap.yaml, infrastructure/rag/values.yaml) [1] [2]

Testing and Development Environment Improvements

  • Added pytest configuration to pyproject.toml in mcp-server, including markers for test categorization (e.g., unit, integration) and additional pytest options. (services/mcp-server/pyproject.toml)
  • Updated testpaths in libs/rag-core-api/pyproject.toml to use a list format for consistency with other configurations. (libs/rag-core-api/pyproject.toml)

Dependency Updates

  • Introduced jinja2 as a new dependency in services/mcp-server/pyproject.toml to support the docstring templating system. (services/mcp-server/pyproject.toml)

@a-klos
Copy link
Copy Markdown
Member Author

a-klos commented Jul 17, 2025

addresses #54

a-klos added 3 commits July 17, 2025 12:39
- Updated configmap.yaml to include new environment variables for chat tools.
- Expanded README.md with detailed Helm chart configuration for MCP server.
- Added Jinja2 and MarkupSafe dependencies to poetry.lock for template rendering.
- Modified mcp_settings.py to improve parameter descriptions and default values.
- Refactored docstring_system.py to streamline docstring rendering and parameter extraction.
- Improved test coverage in docstring_system_test.py for new configurations and behaviors.
Comment thread infrastructure/rag/values.yaml
Comment thread services/mcp-server/README.md
Comment thread services/mcp-server/README.md
Comment thread services/mcp-server/src/docstring_system.py Outdated
@a-klos a-klos merged commit d7cc476 into main Jul 18, 2025
15 checks passed
@a-klos a-klos deleted the feat/make-mcptool-description-configurable branch July 18, 2025 13:12
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