Commit graph

291 commits

Author SHA1 Message Date
Tobias Nyholm
2ea4e0b77b
fix minor typo (#162) 2025-11-22 10:55:32 +01:00
Camille Islasse
470237ad0b
Make logger nullable in Transport constructors (#152) v0.1.0
- BaseTransport: Accept ?LoggerInterface parameter and convert null to NullLogger
- StdioTransport: Change logger parameter to nullable
- StreamableHttpTransport: Change logger parameter to nullable
- InMemoryTransport: Fix missing parent::__construct() call and add logging
2025-11-20 19:48:17 +01:00
Christopher Hertel
7cd281d0c7
Rework registry to combine provider and registry interface, move capabilities out and enable Registry injection in Builder (#150) 2025-11-20 19:36:57 +01:00
Bujar Begisholli - C24
7a58ab3f5a
Add meta to addPrompt and addResourceTemplate methods and null coalesce nullable properties (#149) 2025-11-14 17:11:38 +01:00
Bujar Begisholli - C24
7a3b473c40
Add _meta to CallToolResult (#148) 2025-11-13 22:43:40 +01:00
Christopher Hertel
056c7b6103
[Server] Add support for icons on explicit builder registration and attributes (#142)
* Add support for icons on explicit builder registration and attributes

* Update docs/server-builder.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-13 22:39:18 +01:00
Christopher Hertel
7a8fbe9b20
Add tool name validation for SEP-986 (#140) 2025-11-13 21:42:30 +01:00
Bujar Begisholli - C24
63ffeed0cc
[Server] Fix wrong parameter order when creating the tool from array (#147)
Previously, the meta parameter was incorrectly passed to the icons position
due to missing icons argument. Also adds icons support to Builder::addTool()
for consistency with the Tool schema.
2025-11-12 11:34:17 +01:00
Bujar Begisholli - C24
8daca8129e
[Server] Add meta parameter to addTool and addResource methods (#144) 2025-11-12 10:36:31 +01:00
Martin Poirier Théorêt
a9cd8d550f
[Capability] Discovery fix McpTool meta parameters in place of icons (#145) 2025-11-11 21:42:50 +01:00
落月
982706851a
Change visibility of handleFiberTermination and flushOutgoingMessages to protected (#143) 2025-11-11 21:42:04 +01:00
Christopher Hertel
5804ba9773
Add support for icons and website url (#141) 2025-11-09 14:53:36 +01:00
Christopher Hertel
660f150361
Rename $_meta properties to $meta (#134) 2025-11-09 13:36:21 +01:00
Kaipi Yann
d3a07912b0
Roll out meta properties in attributes and more schema classes (#129) 2025-11-08 13:58:26 +01:00
ineersa
09596c0382
Ability to set custom protocol version (#117) 2025-11-08 00:37:01 +01:00
Antoine Bluchet
85549cb835
session save return type (#133) 2025-11-04 22:45:41 +01:00
Antoine Bluchet
9be9e38815
ability to append loaders to server builder (#132) 2025-11-04 22:44:53 +01:00
Christopher Hertel
ff26b4ff61
refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
Christopher Hertel
fb3c1e65a6
Enable servers to send sampling messages to clients (#101) 2025-11-01 09:02:24 +01:00
Christopher Hertel
67cc641247
fix(server): consistent arg name in session store impl (#127) 2025-10-31 21:02:54 +01:00
Kyrian Obikwelu
757b959bfd
[Server] Feat: Add comprehensive HTTP inspector tests with improved framework (#125)
* feat: add comprehensive HTTP inspector tests and improve test framework

* chore: remove debug flag from server configuration
2025-10-30 17:47:53 +01:00
Kyrian Obikwelu
ca18caf29d
[Server] Fix: standardize error handling across handlers with MCP specificatio… (#124)
* fix: standardize error handling across handlers with MCP specification compliance

* Update mcp-elements.md

Co-authored-by: Christopher Hertel <mail@christopher-hertel.de>

* docs: clarify error handling behavior for all element types

* docs: remove unnecessary whitespace in mcp-elements.md

* fix: simplify exception signatures to accept simple messages

* refactor: use specific exceptions in examples for better error handling

* feat: throw exceptions from reference provider instead of returning null

---------

Co-authored-by: Christopher Hertel <mail@christopher-hertel.de>
2025-10-30 17:30:58 +01:00
Christopher Hertel
8885d29a4e
fix(server): add completion handler to builder (#126) 2025-10-30 11:49:13 +01:00
Kyrian Obikwelu
55f860808c
fix: extract and pass URI template variables to resource handlers (#123) 2025-10-27 22:20:48 +01:00
落月
f41ea86608
feat(session): implement PSR-16 cache based session storage (#114) 2025-10-27 08:40:26 +01:00
Christopher Hertel
7190bee153
Add more inspector tests for functionality tests of STDIO examples (#115) 2025-10-27 01:09:25 +01:00
Kyrian Obikwelu
48a19b93a7
[Server] Make CORS headers configurable in StreamableHttpTransport (#118)
* feat: make CORS headers configurable in StreamableHttpTransport

* docs: add CORS configuration documentation for HTTP transport

* refactor: streamline request creation and transport initialization in HTTP client example
2025-10-26 23:58:26 +01:00
OK Xaas
42b5261612
fix: because the cached discoveryState does not use ->setDiscoveryState(), it is found that the discoveryState cannot be used (#120)
Co-authored-by: X2NX <x2nx@qq.com>
2025-10-26 23:25:09 +01:00
Kyrian Obikwelu
f1b471a219
[Server] Add Bidirectional Client Communication Support (#109)
* feat(server): add bidirectional client communication support

* fix(server): use correct session ID string conversion method

* fix: clean up docblocks for request handler methods in Builder

* fix: merge artifacts
2025-10-26 22:48:17 +01:00
Kyrian Obikwelu
0963d243bc
feat: add PSR-17 factory auto-discovery to HTTP transport (#119) 2025-10-26 22:06:10 +01:00
Christopher Hertel
e5a4cb5906
Actually use cache across example runs (#116) 2025-10-26 21:49:45 +01:00
Antoine Bluchet
e4a82f7474
refactor: registry loader (#111) 2025-10-24 21:43:16 +02:00
ineersa
d347c84472
StructuredContent call tool result, added ability to return error from tool (#93) 2025-10-24 21:18:42 +02:00
Antoine Bluchet
6100ffcf3f
Missing Mcp-Protocol-Version to access control (#110) 2025-10-20 22:41:24 +02:00
Kyrian Obikwelu
54a5d1495c
[Server] Refactor protocol pipeline to separate request and notification handling (#106) 2025-10-12 13:53:41 +01:00
Christopher Hertel
9ff6516e5b
Add happy cases for functional tests of example 1 (#91) 2025-10-12 13:52:58 +01:00
Adebayo120
4486776e7d
[Server] Remove redundant Builder.setServerCapabilities method (#107) 2025-10-12 13:51:21 +01:00
ineersa
709a815cde
Add possibility to set custom ServerCapabilities. (#95) 2025-10-11 02:37:58 +02:00
Kyrian Obikwelu
2dbd411194
[Server] Simplify server entrypoint with run-based transport lifecycle (#103)
* feat: replace connect/listen flow with run lifecycle

* feat(transport): add phpstan generics for typed transport returns

* refactor: standardize variable naming for MCP server instances in transport handling

* test: remove unnecessary phpstan-ignore annotation in DocBlockTestFixture
2025-10-10 18:52:06 +01:00
Christopher Hertel
e2243bc2d9
[Server] Remove dead resource template handler code (#102) 2025-10-10 18:38:42 +01:00
ineersa
415f8dd360
Fixed Discoverer file processing for PHAR (#94) 2025-10-08 03:56:10 +02:00
Kyrian Obikwelu
fcf605d5d7
[Server] Simplify server extensibility with pluggable method handlers (#100)
* refactor: use a custom method handler registration system

* refactor: remove redundant Completer and CompleterInterface

* docs: update server-builder documentation to reflect custom method handler changes
2025-10-08 00:25:06 +02:00
Christopher Hertel
e94fd82061
docs: add more about building servers and updating front readme (#81)
* docs: add more about building servers and updating front readme

* Overhaul documentation structure and content

* fix: remove redundant emoji on docs

* Remove composer install --dev hint

* Add linebreak to make it readable in IDE

* rebase after example renaming

---------

Co-authored-by: Kyrian Obikwelu <koshnawaza@gmail.com>
2025-10-07 23:42:02 +02:00
Christopher Hertel
cbd1b298e9
Fix missing instructions from builder to handler (#90) 2025-10-07 23:32:51 +02:00
Christopher Hertel
d06b57d285
Address open PHPStan issues from baseline (#92) 2025-10-07 23:16:47 +02:00
Kyrian Obikwelu
4b91567dbd
feat: add completion/complete handler, centralize provider logic, and move completion capability (#97) 2025-10-07 10:34:50 +01:00
Christopher Hertel
f0807f149e
Avoid broken inspector cli version by pinning (#98) 2025-10-07 00:42:26 +02:00
Christopher Hertel
345b94dfbb
Rename example folders (#87) 2025-10-04 19:45:40 +02:00
Christopher Hertel
cecfa0c3c6
Add request handler for resource templates (#89) 2025-10-04 19:43:41 +02:00
Kyrian Obikwelu
41486bfaa4
[Server] Reorganize server handlers and transport structure for better organization (#86)
* refactor: reorganize server handlers and transport structure

* feat: move the test files to corresponding directories

* fix: linter issues

* fix: correct PHPDoc formatting and streamline handler imports

* refactor: update import statement for ServerBuilder to Builder
2025-09-29 00:58:04 +02:00