Skip to content

Releases: casualgenius/casual-mcp

v0.8.0

19 Feb 08:38

Choose a tag to compare

[0.8.0]

Breaking Changes

Changed

  • Upgraded to casual-llm >= 0.6.0.
  • Change config structure to match casual-llm new client/model class structure
  • Improved logging across the framework.
  • ModelFactory now accepts a Config object in the constructor and get_model() takes only a model name. Previous API: ModelFactory() + get_model(name, model_config, client_configs). New API: ModelFactory(config) + get_model(name).
  • API key resolution is now handled by casual-llm via ClientConfig.name. Lookup order: explicit api_key in config > {CLIENT_NAME.upper()}_API_KEY env var > provider default env var (e.g. OPENAI_API_KEY, ANTHROPIC_API_KEY).
  • Provider strings are passed directly to casual-llm's ClientConfig instead of being mapped to an enum. casual-llm handles string-to-enum coercion internally.
  • McpClientConfig.provider type relaxed from Literal["openai", "ollama", "anthropic"] to str for forward compatibility with new providers.

Added

  • casual-mcp migrate-config CLI command to migrate legacy config files (with provider/endpoint in models) to the new clients/models format.

Removed

  • PROVIDER_MAP dict (no longer needed since casual-llm accepts provider strings).
  • API_KEY_ENV_VARS dict and manual os.getenv() API key lookup (now handled by casual-llm).
  • Auto-migration of legacy config at load time. Use casual-mcp migrate-config instead.

v0.7.2

06 Feb 14:11

Choose a tag to compare

Updated

  • fastmcp minimum version to allow meta data support

v0.7.0

06 Feb 09:33
998d4d7

Choose a tag to compare

Added

  • Toolsets to allow flexible config of servers depending on need

v0.6.0

03 Feb 06:48

Choose a tag to compare

Added

  • Usage stats to get statistics about tools used during the chat run
  • Support for structured_content responses from MCP services

Fixed

  • Handling of tool results with multiple items

v0.5.0

28 Jan 07:36

Choose a tag to compare

Added

  • Removed providers and moved to use casual-llm
  • Examples of casual-mcp in use

v0.4.0

09 Oct 16:08

Choose a tag to compare

Updated FastMCP library to latest version

Full Changelog: v0.3.1...v0.4.0

v0.3.1

09 Oct 16:07

Choose a tag to compare

Full Changelog: v0.3.0...v0.3.1

v0.3.0

28 May 03:28

Choose a tag to compare

Split the McpToolChat chat method and chat api endpoint into:

  • chat: for handling list of chat messages
  • generate: for simple user prompt with optional session

Updated the README to reflect the changes and improve the usage examples

v0.2.2

27 May 12:58

Choose a tag to compare

Turns out that FastMCP added support for multi server clients at the same time that I released v0.1.0 which was nice of them 😅

Not much point in having my own implementation so have removed the MultiServerMcpClient and instead using the Client from FastMCP in McpToolChat.

Also I decided to align the servers config with the one they implemented so there is a change to the config.

Changes:

  • Removed MultiServerMcpClient in favour of FastMCP Client's multi server support
  • Refactored McpToolChat to use FastMCP Client
  • Updated servers config structure to match that of FastMCP
  • Renamed config from config.json to casual_mcp_config.json
  • Improved README
  • Some other minor improvements

v0.1.0

23 May 09:28

Choose a tag to compare

Initial Release (0.1.0)

  • Plug-and-play multi-server tool orchestration
  • Prompt templating with Jinja2
  • Configurable via JSON
  • CLI and API access
  • Extensible architecture