58 Commits

Author SHA1 Message Date
Marcelo Trylesinski ae77772ea8 Add strict mode to pyright (#315)
* Add strict mode to pyright

* Apply UP rule

* fix readme

* More correct

* Leave wrong Context for now

* Add strict mode to pyright

* Apply UP rule

* fix readme

* fix

* ignore
2025-03-20 09:13:08 +00:00
Samuel Colvin 3775916c5c lint docs examples (#286)
* lint docs examples

* format
2025-03-14 11:30:57 +00:00
Marcelo Trylesinski 97201cce59 Strict types on the client side (#285) 2025-03-14 10:56:48 +00:00
Marcelo Trylesinski 1669a3af01 Release on GitHub release (#276) 2025-03-13 13:09:18 +00:00
Marcelo Trylesinski 94d326dbf1 Close unclosed resources in the whole project (#267)
* Close resources

* Close all resources

* Update pyproject.toml

* Close all resources

* Close all resources

* try now...

* try to ignore this

* try again

* try adding one more..

* try now

* try now

* revert ci changes
2025-03-13 10:59:45 +00:00
Henry Mao ea8a2dbd6d Reraise exception and make websocket optional 2025-03-08 10:52:10 +08:00
Henry Mao fd826cc7a6 Fix Websocket Client and Add Test 2025-03-07 22:00:56 +08:00
David Soria Parra 775f879813 bump version 2025-02-20 21:40:35 +00:00
jeremy 0d48a4494f relax pydantic, pydantic-settings, and uvicorn 2025-01-29 22:49:43 -05:00
David Soria Parra b8fd814f1c Bump version 2025-01-03 21:25:02 +00:00
David Soria Parra 58bc32e559 merge: Resolve conflicts from v1.1.x merge 2025-01-03 16:06:51 +00:00
David Soria Parra d06b393cdb build: bump version to v1.1.3 2025-01-03 15:45:57 +00:00
David Soria Parra 118ddcc9ac feat: upgrade dev dependencies 2025-01-03 15:30:49 +00:00
David Soria Parra 44e1abb7f1 fix tests 2024-12-21 01:17:59 +00:00
David Soria Parra 680afeeed6 fix pydantic version 2024-12-21 01:04:30 +00:00
David Soria Parra 5d9b544ce7 add uvicorn dependency 2024-12-21 00:54:59 +00:00
David Soria Parra d2c3e21173 upgrade to pydantic 2.10.0 to fix type issues 2024-12-21 00:47:50 +00:00
David Soria Parra a79f51f55f style: Fix imports and line length formatting 2024-12-21 00:46:36 +00:00
David Soria Parra 87cee0ff33 feat: Add CLI package 2024-12-21 00:41:58 +00:00
David Soria Parra 557e90d2e7 Integrate FastMCP
This commit integrates FastMCP, a high-level MCP server implementation originally written by Jeremiah Lowin,
into the official MCP SDK. It also updates dependencies and adds new dev dependencies.
It moves the existing SDK into a .lowlevel .
2024-12-21 00:41:38 +00:00
David Soria Parra 21f2f82b7d Merge branch 'v1.1.x' 2024-12-12 15:46:22 +00:00
David Soria Parra ce25842d35 1.1.2 2024-12-12 15:44:17 +00:00
David Soria Parra 8425c9ce9b Downgrade sse-starlette 2024-12-12 15:44:00 +00:00
David Soria Parra aaf32b5307 Merge branch 'v1.1.x' 2024-12-09 14:26:46 +00:00
David Soria Parra 34f380c905 v1.1.1 2024-12-09 14:23:29 +00:00
David Soria Parra 28ed9cba5a Change lower bounds and update locks 2024-12-09 14:23:08 +00:00
David Soria Parra ed03a426c7 Use uv --resolution lowest-direct
We need to ensure that we always test against the lowest bounds.
Libraries should set resolution to `lowest-direct`.
2024-12-09 14:22:59 +00:00
David Soria Parra 15ed7cb2dc bump 2024-12-03 22:21:26 +00:00
David Soria Parra e4e4954b66 v1.1.0 2024-12-03 22:16:52 +00:00
David Soria Parra 6063b09d04 bump 2024-11-25 14:23:53 +00:00
David Soria Parra 91b255f83f v1.0.0 2024-11-25 14:17:46 +00:00
David Soria Parra 9bdb8a2401 Update supported language
Since we are pulling the list of Python versions in the README
badge from PyPi we need to ensure we correctly reflect all supported
versions.
2024-11-25 13:06:53 +00:00
David Soria Parra 22c4b0ff80 Add URLs 2024-11-20 16:12:21 +00:00
David Soria Parra 46a960f6d5 bump and constraint 2024-11-19 12:33:23 +00:00
David Soria Parra 654480f675 bump 2024-11-19 12:26:43 +00:00
David Soria Parra fb0cffe268 Merge branch 'main' into davidsp/anyio 2024-11-18 18:13:23 +00:00
David Soria Parra 1df0df1028 Restrict anyio to 4.6 and above
We are using features from 4.6 so we want to make sure we use
a recednt one
2024-11-18 17:12:29 +00:00
David Soria Parra 9c79527917 bump 2024-11-18 17:09:48 +00:00
David Soria Parra 8668a04211 v0.8.0 2024-11-13 14:44:48 +00:00
David Soria Parra 10881fb19b Example server to expose a fetch tool and a fetch prompt 2024-11-12 13:53:36 +00:00
David Soria Parra 5506abd153 bump 2024-11-11 21:11:42 +00:00
David Soria Parra b47924f42d update pyproject toml 2024-11-11 15:40:11 +00:00
David Soria Parra ed87ae9f06 rename mcp_python to mcp 2024-11-11 12:40:32 +00:00
David Soria Parra 34ffcf4e43 bump version 2024-11-10 23:53:55 +00:00
Nick Merrill 12c648f9f1 bump main branch to 0.6.0.dev 2024-11-05 18:48:36 -05:00
Nick Merrill 60e9c7a0d7 Add in-memory transport (#25)
## Goal

Support running an MCP server in the same process as the client, while preserving MCP abstractions.

## Details

1. **(core change)** Adds a new `memory` transport module that enables in-process client-server communication.
This includes:
   - `create_client_server_memory_streams()` to create bidirectional memory streams
   - `create_connected_server_and_client_session()` to establish an in-process client-server connection

3. (minor) Enhances error handling and timeout support:
   - Adds configurable read timeouts to sessions via `read_timeout_seconds` parameter
   - Improves exception handling in the server with a new `raise_exceptions` flag to control whether errors are returned to clients or raised directly
   - Ensures proper cleanup of request context tokens in error cases

4. (minor) Makes server improvements:
   - Adds built-in ping handler support
2024-11-05 15:42:41 -08:00
David Soria Parra 1e8cf6ba58 bump version 2024-10-21 16:12:42 +01:00
David Soria Parra 14c2ce16fe bump version 2024-10-14 17:48:55 +01:00
David Soria Parra 211b5f069a github: add workflows to check formatting and typecheck 2024-10-11 16:17:04 +01:00
David Soria Parra cc342a05ad Allow passing initialization options to a session
We need a way for servers to pass initialization options to the session.
This is the beginning of this.
2024-10-11 16:06:54 +01:00