kensho-kfinance 3.2.2__tar.gz → 3.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kensho-kfinance might be problematic. Click here for more details.

Files changed (148) hide show
  1. {kensho_kfinance-3.2.2/kensho_kfinance.egg-info → kensho_kfinance-3.2.3}/PKG-INFO +2 -2
  2. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3/kensho_kfinance.egg-info}/PKG-INFO +2 -2
  3. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kensho_kfinance.egg-info/SOURCES.txt +1 -0
  4. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kensho_kfinance.egg-info/requires.txt +1 -1
  5. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/CHANGELOG.md +3 -0
  6. kensho_kfinance-3.2.3/kfinance/integrations/local_mcp/kfinance_mcp.py +22 -0
  7. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/local_mcp/local_mcp.py +2 -2
  8. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/version.py +16 -3
  9. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/pyproject.toml +1 -1
  10. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/.coveragerc +0 -0
  11. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/.github/workflows/ci-lint.yml +0 -0
  12. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/.github/workflows/ci-test.yml +0 -0
  13. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/.github/workflows/python-publish.yml +0 -0
  14. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/.gitignore +0 -0
  15. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/.readthedocs.yaml +0 -0
  16. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/AUTHORS.md +0 -0
  17. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/CODE_OF_CONDUCT.md +0 -0
  18. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/CONTRIBUTING.md +0 -0
  19. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/LICENSE +0 -0
  20. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/README.md +0 -0
  21. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/build_tool_calling_documentation.py +0 -0
  22. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/conf.py +0 -0
  23. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/index.rst +0 -0
  24. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/kfinance.rst +0 -0
  25. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/requirements.txt +0 -0
  26. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/templates/apidoc/package.rst_t +0 -0
  27. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/templates/apidoc/toc.rst_t +0 -0
  28. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/docs/tool_calling.rst +0 -0
  29. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/example_notebooks/basic_usage.ipynb +0 -0
  30. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/example_notebooks/tool_calling/langchain/anthropic_langchain_tool_calling.ipynb +0 -0
  31. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/example_notebooks/tool_calling/langchain/google_gemini_langchain_tool_calling.ipynb +0 -0
  32. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/example_notebooks/tool_calling/langchain/openai_langchain_tool_calling.ipynb +0 -0
  33. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/example_notebooks/tool_calling/non-langchain/anthropic_tool_calling.ipynb +0 -0
  34. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/example_notebooks/tool_calling/non-langchain/google_gemini_tool_calling.ipynb +0 -0
  35. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/example_notebooks/tool_calling/non-langchain/openai_langchain_tool_calling.ipynb +0 -0
  36. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/images/colab_logo_32px.png +0 -0
  37. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/justfile +0 -0
  38. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kensho_kfinance.egg-info/dependency_links.txt +0 -0
  39. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kensho_kfinance.egg-info/top_level.txt +0 -0
  40. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/__init__.py +0 -0
  41. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/README.md +0 -0
  42. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/__init__.py +0 -0
  43. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/batch_request_handling.py +0 -0
  44. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/fetch.py +0 -0
  45. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/industry_models.py +0 -0
  46. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/kfinance.py +0 -0
  47. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/meta_classes.py +0 -0
  48. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/models/__init__.py +0 -0
  49. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/models/currency_models.py +0 -0
  50. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/models/date_and_period_models.py +0 -0
  51. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/models/decimal_with_unit.py +0 -0
  52. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/models/tests/__init__.py +0 -0
  53. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/models/tests/test_decimal_with_unit.py +0 -0
  54. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/permission_models.py +0 -0
  55. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/server_thread.py +0 -0
  56. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/tests/__init__.py +0 -0
  57. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/tests/test_batch_requests.py +0 -0
  58. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/tests/test_client.py +0 -0
  59. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/tests/test_fetch.py +0 -0
  60. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/tests/test_group_objects.py +0 -0
  61. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/client/tests/test_objects.py +0 -0
  62. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/conftest.py +0 -0
  63. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/README.md +0 -0
  64. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/__init__.py +0 -0
  65. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/business_relationships/__init__.py +0 -0
  66. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/business_relationships/business_relationship_models.py +0 -0
  67. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/business_relationships/business_relationship_tools.py +0 -0
  68. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/business_relationships/tests/__init__.py +0 -0
  69. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/business_relationships/tests/test_business_relationship_tools.py +0 -0
  70. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/capitalizations/__init__.py +0 -0
  71. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/capitalizations/capitalization_models.py +0 -0
  72. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/capitalizations/capitalization_tools.py +0 -0
  73. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/capitalizations/tests/__init__.py +0 -0
  74. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/capitalizations/tests/test_capitalization_models.py +0 -0
  75. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/capitalizations/tests/test_capitalization_tools.py +0 -0
  76. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/companies/__init__.py +0 -0
  77. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/companies/company_identifiers.py +0 -0
  78. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/companies/company_models.py +0 -0
  79. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/companies/company_tools.py +0 -0
  80. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/companies/tests/__init__.py +0 -0
  81. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/companies/tests/test_company_tools.py +0 -0
  82. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/competitors/__init__.py +0 -0
  83. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/competitors/competitor_models.py +0 -0
  84. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/competitors/competitor_tools.py +0 -0
  85. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/competitors/tests/__init__.py +0 -0
  86. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/competitors/tests/test_competitor_tools.py +0 -0
  87. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/cusip_and_isin/__init__.py +0 -0
  88. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/cusip_and_isin/cusip_and_isin_tools.py +0 -0
  89. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/cusip_and_isin/tests/__init__.py +0 -0
  90. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/cusip_and_isin/tests/test_cusip_and_isin_tools.py +0 -0
  91. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/earnings/__init__.py +0 -0
  92. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/earnings/earning_models.py +0 -0
  93. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/earnings/earning_tools.py +0 -0
  94. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/earnings/tests/__init__.py +0 -0
  95. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/earnings/tests/test_earnings_tools.py +0 -0
  96. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/line_items/__init__.py +0 -0
  97. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/line_items/line_item_models.py +0 -0
  98. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/line_items/line_item_tools.py +0 -0
  99. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/line_items/tests/__init__.py +0 -0
  100. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/line_items/tests/test_line_item_tools.py +0 -0
  101. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/mergers_and_acquisitions/__init__.py +0 -0
  102. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/mergers_and_acquisitions/merger_and_acquisition_models.py +0 -0
  103. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/mergers_and_acquisitions/merger_and_acquisition_tools.py +0 -0
  104. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/mergers_and_acquisitions/tests/__init__.py +0 -0
  105. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/mergers_and_acquisitions/tests/test_merger_and_acquisition_tools.py +0 -0
  106. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/prices/__init__.py +0 -0
  107. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/prices/price_models.py +0 -0
  108. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/prices/price_tools.py +0 -0
  109. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/prices/tests/__init__.py +0 -0
  110. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/prices/tests/test_price_models.py +0 -0
  111. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/prices/tests/test_price_tools.py +0 -0
  112. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/segments/__init__.py +0 -0
  113. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/segments/segment_models.py +0 -0
  114. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/segments/segment_tools.py +0 -0
  115. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/segments/tests/__init__.py +0 -0
  116. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/segments/tests/test_segment_tools.py +0 -0
  117. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/statements/__init__.py +0 -0
  118. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/statements/statement_models.py +0 -0
  119. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/statements/statement_tools.py +0 -0
  120. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/statements/tests/__init__.py +0 -0
  121. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/domains/statements/tests/test_statement_tools.py +0 -0
  122. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/README.md +0 -0
  123. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/__init__.py +0 -0
  124. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/local_mcp/__init__.py +0 -0
  125. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tests/__init__.py +0 -0
  126. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tests/test_example_notebook.py +0 -0
  127. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/README.md +0 -0
  128. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/__init__.py +0 -0
  129. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/all_tools.py +0 -0
  130. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/prompts.py +0 -0
  131. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/static_tools/README.md +0 -0
  132. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/static_tools/__init__.py +0 -0
  133. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/static_tools/get_latest.py +0 -0
  134. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/static_tools/get_n_quarters_ago.py +0 -0
  135. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/static_tools/tests/__init__.py +0 -0
  136. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/static_tools/tests/test_get_lastest.py +0 -0
  137. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/static_tools/tests/test_get_n_quarters_ago.py +0 -0
  138. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/tests/__init__.py +0 -0
  139. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/tests/test_tool_calling_models.py +0 -0
  140. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/integrations/tool_calling/tool_calling_models.py +0 -0
  141. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/mcp.py +0 -0
  142. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/models/permission_models.py +0 -0
  143. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/kfinance/py.typed +0 -0
  144. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/scripts/copyright_line_check.sh +0 -0
  145. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/scripts/lint.sh +0 -0
  146. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/scripts/test.sh +0 -0
  147. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/setup.cfg +0 -0
  148. {kensho_kfinance-3.2.2 → kensho_kfinance-3.2.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kensho-kfinance
3
- Version: 3.2.2
3
+ Version: 3.2.3
4
4
  Summary: Python CLI for kFinance
5
5
  Author-email: Luke Brown <luke.brown@kensho.com>, Michelle Keoy <michelle.keoy@kensho.com>, Keith Page <keith.page@kensho.com>, Matthew Rosen <matthew.rosen@kensho.com>, Nick Roshdieh <nick.roshdieh@kensho.com>
6
6
  Project-URL: source, https://github.com/kensho-technologies/kfinance
@@ -14,7 +14,7 @@ License-File: LICENSE
14
14
  License-File: AUTHORS.md
15
15
  Requires-Dist: cachetools<6,>=5.5
16
16
  Requires-Dist: click<=9,>=8.2.1
17
- Requires-Dist: fastmcp<2.10,>=2.9
17
+ Requires-Dist: fastmcp>=2.11
18
18
  Requires-Dist: langchain-core>=0.3.15
19
19
  Requires-Dist: langchain-google-genai<3,>=2.1.5
20
20
  Requires-Dist: numpy>=1.22.4
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kensho-kfinance
3
- Version: 3.2.2
3
+ Version: 3.2.3
4
4
  Summary: Python CLI for kFinance
5
5
  Author-email: Luke Brown <luke.brown@kensho.com>, Michelle Keoy <michelle.keoy@kensho.com>, Keith Page <keith.page@kensho.com>, Matthew Rosen <matthew.rosen@kensho.com>, Nick Roshdieh <nick.roshdieh@kensho.com>
6
6
  Project-URL: source, https://github.com/kensho-technologies/kfinance
@@ -14,7 +14,7 @@ License-File: LICENSE
14
14
  License-File: AUTHORS.md
15
15
  Requires-Dist: cachetools<6,>=5.5
16
16
  Requires-Dist: click<=9,>=8.2.1
17
- Requires-Dist: fastmcp<2.10,>=2.9
17
+ Requires-Dist: fastmcp>=2.11
18
18
  Requires-Dist: langchain-core>=0.3.15
19
19
  Requires-Dist: langchain-google-genai<3,>=2.1.5
20
20
  Requires-Dist: numpy>=1.22.4
@@ -122,6 +122,7 @@ kfinance/domains/statements/tests/test_statement_tools.py
122
122
  kfinance/integrations/README.md
123
123
  kfinance/integrations/__init__.py
124
124
  kfinance/integrations/local_mcp/__init__.py
125
+ kfinance/integrations/local_mcp/kfinance_mcp.py
125
126
  kfinance/integrations/local_mcp/local_mcp.py
126
127
  kfinance/integrations/tests/__init__.py
127
128
  kfinance/integrations/tests/test_example_notebook.py
@@ -1,6 +1,6 @@
1
1
  cachetools<6,>=5.5
2
2
  click<=9,>=8.2.1
3
- fastmcp<2.10,>=2.9
3
+ fastmcp>=2.11
4
4
  langchain-core>=0.3.15
5
5
  langchain-google-genai<3,>=2.1.5
6
6
  numpy>=1.22.4
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.2.3
4
+ - Disable low level MCP SDK input validation
5
+
3
6
  ## v3.2.2
4
7
  - Use ValidQuarter for statement and line item tools
5
8
 
@@ -0,0 +1,22 @@
1
+ from fastmcp import FastMCP
2
+
3
+
4
+ class KfinanceMcp(FastMCP):
5
+ """FastMCP subclass with some kfinance specific adaptations."""
6
+
7
+ def _setup_handlers(self) -> None:
8
+ """Skip low level input validation for tool calls.
9
+
10
+ We do validate inputs as part of KfinanceTool.run_without_langchain.
11
+ However, the mcp python sdk recently added its own low-level validation:
12
+ github.com/modelcontextprotocol/python-sdk/commit/c8bbfc034d5cb876d6b91185cf02da2af6fb8b44
13
+ This causes problems because claude always returns integer values as strings if
14
+ they are part of a field that allows multiple types. e.g. `start_year: int | None`
15
+ -> Claude will always return strings. This is fine for pydantic, it automatically
16
+ converts the strings to integers.
17
+ However, the mcp sdk validation is stricter and disallows strings where ints are
18
+ required.
19
+ call_tool(validate_input=False) turns off the mcp sdk validation.
20
+ """
21
+ super()._setup_handlers()
22
+ self._mcp_server.call_tool(validate_input=False)(self._mcp_call_tool)
@@ -1,12 +1,12 @@
1
1
  from typing import Literal, Optional
2
2
 
3
3
  import click
4
- from fastmcp import FastMCP
5
4
  from fastmcp.tools import FunctionTool
6
5
  from fastmcp.utilities.logging import get_logger
7
6
  from langchain_core.utils.function_calling import convert_to_openai_tool
8
7
 
9
8
  from kfinance.client.kfinance import Client
9
+ from kfinance.integrations.local_mcp.kfinance_mcp import KfinanceMcp
10
10
  from kfinance.integrations.tool_calling.tool_calling_models import KfinanceTool
11
11
 
12
12
 
@@ -76,7 +76,7 @@ def run_mcp(
76
76
  logger.info("The client will be authenticated using a browser")
77
77
  kfinance_client = Client()
78
78
 
79
- kfinance_mcp: FastMCP = FastMCP("Kfinance")
79
+ kfinance_mcp: KfinanceMcp = KfinanceMcp("Kfinance")
80
80
  for langchain_tool in kfinance_client.langchain_tools:
81
81
  logger.info("Adding %s to server", langchain_tool.name)
82
82
  kfinance_mcp.add_tool(build_mcp_tool_from_kfinance_tool(langchain_tool))
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '3.2.2'
21
- __version_tuple__ = version_tuple = (3, 2, 2)
31
+ __version__ = version = '3.2.3'
32
+ __version_tuple__ = version_tuple = (3, 2, 3)
33
+
34
+ __commit_id__ = commit_id = 'gd434cf519'
@@ -20,7 +20,7 @@ classifiers = [
20
20
  dependencies = [
21
21
  "cachetools>=5.5,<6",
22
22
  "click>=8.2.1,<=9",
23
- "fastmcp>=2.9,<2.10",
23
+ "fastmcp>=2.11",
24
24
  "langchain-core>=0.3.15",
25
25
  "langchain-google-genai>=2.1.5,<3",
26
26
  "numpy>=1.22.4",
File without changes