-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add MCP Client Support #39
base: main
Are you sure you want to change the base?
Add MCP Client Support #39
Conversation
It's great to see MCP support for Chatlas. A few thoughts about dependencies and requirements: The |
Sure thing! Out of curiosity, is there something that would require us to keep py3.9 support? I suppose that would be considered a breaking change. |
Posit Open Source tries to support all python versions that are receiving security updates. Py3.9 will end its support in Oct '25. Similarly, given the mcp is a non-critical code path, the mcp requirements shouldn't hinder the core functionality from running on an earlier python versions. |
Overall, this is looking great, thank you! I think we'll have some additional suggestions for code changes/improvements, but also excited to see what you come up with for docs. |
@@ -18,7 +18,6 @@ jobs: | |||
strategy: | |||
matrix: | |||
config: | |||
- { python-version: "3.9", test_google: false, test_azure: false } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be restored?
Let's skip the test files/funcs when using py3.9
@classmethod | ||
def from_func( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to have this as a subclass to the Tool class.
I'd also like to restructure the Tool
class to be an ABC class. Then ToolFunction
, ToolMcp
, ToolMcpSse
, and ToolMcpStdio
would all spawn from Tool
.
- Tool
- ToolFunction
- ToolMcp
- ToolMcpSse
- ToolMcpStdio
I'm happy to implement this early next week.
Issue #21
Adds ability to register an SSE or stdio MCP server with any Chat provider.
Tests provide contained examples of these MCP servers that the tests interact with to register tools remotely.
Slightly modifies how tools are created:
Tool.from_func
(maintains existing behavior) andTool.from_mcp
static methods.The use of MCP does mean that Python 3.9 support would be dropped. If this is a major problem, happy to brainstorm ways to make MCP an extra and conditionally import it when needing it.
TODOs: