@@ -190,23 +190,40 @@ $response = $server->run($transport);
190190By default, the SDK uses in-memory sessions. You can configure different session stores:
191191
192192``` php
193- use Mcp\Server\Session\InMemorySessionStore;
194193use Mcp\Server\Session\FileSessionStore;
194+ use Mcp\Server\Session\InMemorySessionStore;
195+ use Mcp\Server\Session\Psr16StoreSession;
196+ use Symfony\Component\Cache\Psr16Cache;
197+ use Symfony\Component\Cache\Adapter\RedisAdapter;
195198
196- // Use default in-memory sessions (TTL only)
199+ // Use default in-memory sessions with custom TTL
197200$server = Server::builder()
198201 ->setSession(ttl: 7200) // 2 hours
199202 ->build();
200203
201- // Use file-based sessions
204+ // Override with file-based storage
202205$server = Server::builder()
203206 ->setSession(new FileSessionStore(__DIR__ . '/sessions'))
204207 ->build();
205208
206- // Use in-memory with custom TTL
209+ // Override with in-memory storage and custom TTL
207210$server = Server::builder()
208211 ->setSession(new InMemorySessionStore(3600))
209212 ->build();
213+
214+ // Override with PSR-16 cache-based storage
215+ $redisAdapter = new RedisAdapter(
216+ RedisAdapter::createConnection('redis://localhost:6379'),
217+ 'mcp_sessions'
218+ );
219+
220+ $server = Server::builder()
221+ ->setSession(new Psr16StoreSession(
222+ cache: new Psr16Cache($redisAdapter),
223+ prefix: 'mcp-',
224+ ttl: 3600
225+ ))
226+ ->build();
210227```
211228
212229### Discovery Caching
0 commit comments