CHANGELOG
View Source0.3.2
- Fix error message referring to wrong arity.
- Allow nil origin when Plug options is set to
origins: :all. - Better error handling when
Phantom.Trackeris not in the supervision tree. Phantom.MCP will now emit a Logger warning when Phantom.Tracker can be used, but is not in the supervision tree. - Fix terminate bug introduced in 0.3.1
0.3.1
- Add
[:phantom, :plug, :request, :terminate]telemetry event. - Improve docs
0.3.0
- Move logging functions from
Phantom.SessionintoPhantom.ClientLogger. - Rename
Phantom.Trackerfunctions to be clearer and more straightforward. - Consolidate distributed logic into
Phantom.Trackersuch as PubSub topics. - Add ability to add tools, prompts, resources in runtime easily. You can call
Phantom.Cache.add_tool(router_module, tool_spec). The spec can be built withPhantom.Tool.build/1, the function takes a very similar shape to the corresponding macro fromPhantom.MCP.Router. This will also trigger notifications to clients of tool or prompt list updates. - Handle paginatin for 100+ tools and prompts.
- Change
connect/2callback to receive request headers and query params from the Plug adapter. The signature is now%{headers: list({header, value}), params: map()}where before it was justlist({header, value}). Phantom.Tool.build,Phantom.Prompt.buildandPhantom.ResourceTemplate.buildnow do more and thePhantom.Routermacros do less. This is so runtime can have a consistent experience with compiled declarations. For example, you mayPhantom.ResourceTemplate.build(...)with the same arguments as you would with the router macros, and then callPhantom.Cache.add_resource_template(...)and have the same affect as using theresource ...macro in aPhantom.Routerrouter.- Fixed building tool annontations.
- Fixed resource subscription response and implemented unsubscribe method.
- Improve documentation
0.2.3
- Fix the
initializerequest status code and headers. In 0.2.2 it worked with mcp-inspector but not with Claude Desktop or Zed. Now it works with all.
0.2.2
- Fix the
initializerequest. It should have kept the SSE stream open. - Fix bugs
0.2.1
- Fix default
list_resources/2callback and default implementation.
0.2.0
Phantom MCP released!