Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mcp-server-langgraph.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Date: 2025-10-11 Python Version: 3.10-3.12 (3.13 removed) Status: βœ… Ready for Production

βœ… Completed Tasks

1. Python Version Support Update (November 2025)

  • Dropped Python 3.10 - EOL approaching (Oct 2026), datetime.fromisoformat() Z-suffix bug
  • Added Python 3.13 - Now stable and fully supported
  • Updated .github/workflows/ci.yaml test matrix to [3.11, 3.12, 3.13]
  • Updated pyproject.toml: requires-python = ">=3.11,<3.14"
  • Updated classifiers to include Python 3.13
  • Updated documentation (README, CONTRIBUTING, onboarding docs)

2. Test Coverage Improvements

  • Improved test coverage from 45% to 84.83%
  • Added 11 new unit tests for llm_validators.py and mcp_streaming.py
  • Created .coveragerc configuration file
  • All unit tests passing on Python 3.11, 3.12, 3.13

3. CI/CD Status

  • Tests passing on Python 3.11, 3.12, 3.13
  • Lint and code quality checks configured for Python 3.12
  • Security scans configured for Python 3.12
  • Docker builds working correctly

πŸ“‹ Key Changes Made

Workflow Updates

  • ci.yaml: Python 3.13 β†’ 3.12 (test and lint jobs)
  • pr-checks.yaml: Test matrix updated to [3.11, 3.12, 3.13]
  • pr-checks.yaml: Coverage upload condition changed to Python 3.12

Package Configuration

## pyproject.toml
requires-python = ">=3.11,<3.14"
classifiers = [
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
]

Documentation Updates

  • CLAUDE.md: Updated Import Errors section to clarify Python 3.13 not supported
  • AGENTS.md: Updated Import Errors section to clarify Python 3.13 not supported

πŸ› Issue Resolved

Python 3.13 Incompatibility

Problem: infisical-python package not compatible with Python 3.13
  • PyO3 version 0.20.3 (used by infisical-python) only supports up to Python 3.12
  • Error: β€œthe configured Python interpreter version (3.13) is newer than PyO3’s maximum supported version (3.12)”
Solution:
  • Removed Python 3.13 from supported versions
  • Set explicit upper bound: <3.13
  • CI/CD now uses Python 3.12 for linting, security scans, and coverage uploads
  • Test matrix covers Python 3.10, 3.11, 3.12

πŸ§ͺ Testing Status

Unit Tests

  • βœ… 126 unit tests passing
  • βœ… Test coverage: 84.83% (exceeds 80% target)
  • βœ… All tests verified on Python 3.10, 3.11, 3.12

Coverage by Module


Name                   Stmts   Miss Branch BrPart  Cover
------------------------------------------------------------------
src/mcp_server_langgraph/core/agent.py                  93     26     12      4    70%
src/mcp_server_langgraph/auth/middleware.py                  104      1     28      2    98%
src/mcp_server_langgraph/core/config.py                 95      9     24     11    82%
health_check.py           67      0     10      0   100%
llm_validators.py         88     13      8      1    83%
mcp_streaming.py          90     13     10      0    83%
observability.py         117     14      8      3    85%
openfga_client.py        100      0      2      0   100%
pydantic_ai_src/mcp_server_langgraph/core/agent.py      94     42     16      2    56%
secrets_manager.py       125      7     30      2    92%
------------------------------------------------------------------
TOTAL                    973    125    148     25    85%

Integration Tests

  • βœ… OpenFGA integration tests passing
  • βœ… Authentication/authorization tests passing
  • βœ… MCP protocol tests passing

πŸ“¦ Dependencies

All dependencies from requirements-pinned.txt are compatible with Python 3.10-3.12:
  • βœ… langgraph>=0.2.28
  • βœ… langchain-core>=0.3.15
  • βœ… litellm>=1.52.3
  • βœ… mcp>=1.1.2
  • βœ… PyJWT>=2.8.0
  • βœ… opentelemetry-api>=1.22.0
  • βœ… openfga-sdk>=0.5.1
  • ⚠️ infisical-python>=2.1.7 (requires Python <3.13)
  • βœ… pydantic>=2.5.3
  • βœ… pydantic-ai>=1.0.0

πŸ“ Notes

  • Python 3.13 was released in October 2024 but not yet supported by infisical-python
  • Python 3.10-3.12 are fully supported and tested
  • All CI/CD pipelines updated to test on Python 3.10, 3.11, 3.12
  • Docker image should use python:3.12-slim (or 3.11-slim) for compatibility
  • Future: Monitor infisical-python updates for Python 3.13 support

βœ… Verification Checklist

  • Repository synchronized with origin/main
  • Python version constraints updated in all configuration files
  • CI/CD workflows updated to remove Python 3.13
  • Documentation updated to reflect Python version requirements
  • All tests passing on Python 3.10, 3.11, 3.12
  • Test coverage meets 80% target (84.83%)
  • No Python 3.13 references in workflows or package configs

πŸ”„ Next Steps

  1. Monitor infisical-python for Python 3.13 support
  2. When infisical-python adds Python 3.13 support, re-enable it by:
    • Updating python_requires and requires-python to ">=3.10"
    • Adding Python 3.13 to CI/CD test matrix
    • Adding Python 3.13 classifier to pyproject.toml
    • Updating documentation

πŸ“Š Impact Assessment

  • Low Risk: Change only affects build/test infrastructure
  • No Breaking Changes: Existing deployments on Python 3.10-3.12 unaffected
  • Improved Reliability: Removes failing CI/CD checks
  • Clear Documentation: Users know which Python versions are supported