Skip to content

Releases: PrefectHQ/marvin

there's no "Team" in "marvin"

31 May 05:57
694d2bf
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.1.1...v3.1.2

double trouble

23 May 06:04
Compare
Choose a tag to compare

fixes an issue with duplicate tool discover in MCP support for agents, see #1142

What's Changed

New Features πŸŽ‰

Other Changes 🦾

Full Changelog: v3.1.0...v3.1.1

I have so much stuff in my repo. Structured outputs, agents, MCP, obviously. A scary goose server, obviously. Obviously a Deepseek example. I have no problem being in my repo for hours and hours.

16 May 03:21
Compare
Choose a tag to compare

https://www.youtube.com/shorts/4qi7MsXyP8E

This release includes MCP support for agents.

example
import asyncio
from pathlib import Path
from typing import Annotated, TypedDict

from pydantic import Field
from pydantic_ai.mcp import MCPServerStdio
from rich import print as pprint

import marvin


class Reflection(TypedDict):
    score: Annotated[int, Field(ge=0, le=100)]
    areas_for_improvement: list[str]


# Requires Deno: `deno install -A ... jsr:@pydantic/mcp-run-python`
run_python_server = MCPServerStdio(
    command="deno",
    args=["run", "-A", "jsr:@pydantic/mcp-run-python", "stdio"],
)

# Requires uv: `uvx mcp-server-git`
git_server = MCPServerStdio(
    command="uvx",
    args=["mcp-server-git"],
)


def write_summary_of_work(description: str, file_path: str) -> str:
    """log your efforts in your own style"""
    Path(file_path).write_text(description)
    return f"Summary written to {file_path}"


linus = marvin.Agent(
    name="Linus",
    instructions="Use the available tools as needed to accomplish the user's goal.",
    mcp_servers=[run_python_server, git_server],
    tools=[write_summary_of_work],
)


async def main():
    with marvin.Thread():
        pprint("\n--- Starting Agent Run ---")
        result = await linus.run_async(
            (
                "1. Get the latest commit hash from this repo using the git_log tool\n"
                "2. Report how many characters long the commit hash is\n"
                "3. Calculate the square root of that number with python\n"
                "finish with a haiku about your experience"
            )
        )
        pprint("\n--- Final Result ---")
        pprint(result)

        pprint("\n--- Reflection ---")
        pprint(
            await linus.run_async(
                "reflect on your work and write a short `summary.txt` file",
                result_type=Reflection,
            )
        )

        if Path("summary.txt").exists():
            input("\n--- As expected, summary.txt exists - hit enter to remove it")
            Path("summary.txt").unlink()
        else:
            raise RuntimeError("agent did not write summary.txt")


if __name__ == "__main__":
    asyncio.run(main())

What's Changed

New Features πŸŽ‰

Fixes 🐞

Breaking Changes πŸ›«

Docs πŸ“š

Other Changes 🦾

New Contributors

Full Changelog: v3.0.6...v3.1.0

Not Everybody Knows How To Do Everything, MCP isn't the only thing

07 May 01:29
Compare
Choose a tag to compare

https://youtu.be/CaIH2KuCIXY?si=qdBPFHkn3dLtdxF_&t=13

What's Changed

fixes

docs

other

New Contributors

Full Changelog: v3.1.0-alpha...v3.1.0-alpha.1

alphabet soup

02 May 06:31
Compare
Choose a tag to compare
alphabet soup Pre-release
Pre-release

this alpha release contains experimental MCP support, please comment here if you have thoughts or suggestions for this

see the example

changes

Full Changelog: v3.0.6...v3.1.0-alpha

gotta respect the prompt

25 Apr 20:12
Compare
Choose a tag to compare

this is a patch release to fix a bug with the generate_schema functions where a passed prompt would not be used

Fixes

Full Changelog: v3.0.5...v3.0.6

handled promptly

25 Apr 19:22
Compare
Choose a tag to compare

What's Changed

New Features πŸŽ‰

Docs πŸ“š

New Contributors

Full Changelog: v3.0.4...v3.0.5

License to Chill

17 Apr 15:19
Compare
Choose a tag to compare

adds back unintentionally removed apache 2 license

What's Changed

Full Changelog: v3.0.3...v3.0.4

Living life down the stream

15 Apr 23:11
Compare
Choose a tag to compare

this release resolves an upstream breaking change pydantic/pydantic-ai#1248

What's Changed

New Features πŸŽ‰

Fixes 🐞

Other Changes 🦾

Full Changelog: v3.0.2...v3.0.3

Give me threads or give me death

21 Mar 17:34
Compare
Choose a tag to compare

What's Changed

New Features πŸŽ‰

Fixes 🐞

Breaking Changes πŸ›«

Docs πŸ“š

Other Changes 🦾

Full Changelog: v3.0.1...v3.0.2