# mirascope

> The LLM Anti-Framework

- **URL**: https://www.freshcrate.ai/projects/mirascope
- **Author**: Mirascope
- **Category**: Frameworks
- **Latest version**: `v2.4.0` (2026-03-08)
- **License**: MIT
- **Source**: https://github.com/Mirascope/mirascope
- **Homepage**: https://mirascope.com
- **Language**: Python
- **GitHub**: 1,463 stars, 116 forks
- **Registry**: github
- **Tags**: `artificial-intelligence`, `developer-tools`, `llm`, `llm-agent`, `llm-tools`, `python`, `typescript`

## Description

The LLM Anti-Framework

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v2.4.0` | 2026-03-08 | Low | ## BREAKING  We're unfortunately discontinuing Mirascope Cloud. The `api` module and anything else related to our cloud backend has been ripped out in this version so that it's a pure LLM SDK from now on.  We will continue to build and maintain Mirascope the Python/TypeScript LLM library, but please find an alternative for your OTEL backend.  ## What's Changed * chore: discontinue cloud by @willbakst in https://github.com/Mirascope/mirascope/pull/2856   **Full Changelog**: https://gith |
| `v2.3.0` | 2026-02-27 | Low | ## What's Changed * fix: resolve dark mode styling for span signatures (#2164) by @vnkaralkar in https://github.com/Mirascope/mirascope/pull/2844  ## New Contributors * @sazed-verity made their first contribution in https://github.com/Mirascope/mirascope/pull/2751 * @vnkaralkar made their first contribution in https://github.com/Mirascope/mirascope/pull/2844  **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v2.2.2...v2.3.0 |
| `v2.2.2` | 2026-02-05 | Low | ## What's Changed * fix(cloud): OTEL intValue should accept number by @willbakst in https://github.com/Mirascope/mirascope/pull/2428   **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v2.2.1...v2.2.2 |
| `v2.2.0` | 2026-02-04 | Low | ## TypeScript SDK  This release marks a major milestone for the TypeScript SDK with significant new capabilities (an alpha release with matching functionality to the Python SDK):  ### New Features  - MCP Support - Full Model Context Protocol support for building and consuming MCP servers - Structured Outputs - Define response schemas with Zod for type-safe structured responses, including   streaming support - Tool Streaming - Stream tool calls as they're generated by the model - Substr |
| `v2.1.1` | 2026-02-01 | Low | ## OpenRouterProvider  It looks like the official `v2.1` release didn't actually have `OpenRouterProvider` due to a merge failure. This release fixes that.  ## What's Changed * tests(ts): AnthropicProvider error wrapping by @willbakst in https://github.com/Mirascope/mirascope/pull/2137 * feat(ts): OpenAI + OpenAICompletions support (no Responses yet) by @willbakst in https://github.com/Mirascope/mirascope/pull/2139 * tests(ts): clean up tests to prefer e2e by @willbakst in https://github. |
| `v2.1.0` | 2026-01-30 | Low | ## Python SDK  ### OpenRouter Provider  Native support for https://openrouter.ai/ lets you access 200+ models through a single API. Use it to route requests through OpenRouter or access models not directly available from other providers:  ```python from mirascope import llm  # Register the provider llm.register_provider("openrouter", scope="openrouter/")  @llm.call("openrouter/openai/gpt-4o") def my_prompt() -> str:     return "Hello!"  # Or route existing model prefixes through |
| `v2.0.2` | 2026-01-23 | Low | ## Key Fixes * Preserve metadata of original method when decorated (e.g. `__name__`) * Update organization invitation email validation regex so Python 3.12+ don't complain * Significant improvement to docs styling / structure for better navigation * Fixed broken discord links  ## What's Changed * fix(cloud): color in mobile-menu hamburger by @sourishkrout in https://github.com/Mirascope/mirascope/pull/2094 * refactor(cloud): optimize redirects for single round trip by @sourishkrout in ht |
| `v2.0.1` | 2026-01-22 | Low | Minor bug fix replacing old instances of v2.mirascope.com with the correct mirascope.com/api/v2  ## What's Changed * fix: update instance of incorrect base url to be correct by @willbakst in https://github.com/Mirascope/mirascope/pull/2092   **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v2.0.0...v2.0.1 |
| `v2.0.0` | 2026-01-21 | Low | ## Documentation  We've written extensive documentation for Mirascope v2! You can read it all here: https://mirascope.com/docs  ## New Features   ### Structured Output Improvements  - Add support for primitive format types. You can now pass primitives like `str`, `int`, `list`, or `list[BaseModel]` to the `format=` argument on models, prompts, and calls. - Add support for structured streaming. Iterating over `stream_response.structured_stream()` will give partial structured outputs as t |
| `v2.0.0-alpha.6` | 2026-01-10 | Low | ## Thinking Support  We've re-worked the thinking interface. Rather than simply setting thinking=True, you now provider a ThinkingConfig, like {"level": "medium", "include_summaries": True}. The ThinkingLevel is required, and options include "default", "none", "minimal", "low", "medium", "high", and "max". If include_summaries is True, then the model is asked to output summaries of its thoughts. Under the hood, Mirascope will convert the thinking level to the provider-specific representation. |

## Citation

- HTML: https://www.freshcrate.ai/projects/mirascope
- Markdown: https://www.freshcrate.ai/projects/mirascope.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/mirascope/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
