0.40.0

takahirom/arbigent0.40.0Apr 3, 2025by takahirom

AI Summary

This is a major update introducing Model Context Protocol (MCP) support and shifting the AI interaction model from JSON Schema generation to OpenAI's Function Calling API. Users must update their custom prompt templates to remove the deprecated $ACTION_TEMPLATES placeholder.

Key Highlights

  • Introduced Model Context Protocol (MCP) support
  • Migrated AI interaction from JSON Schema to Function Calling
  • Removed $ACTION_TEMPLATES placeholder from templates
  • Improved iOS simulator startup stability in CI

Breaking Changes

  • Prompt Template Update Required: The $ACTION_TEMPLATES placeholder has been removed from userPromptTemplate.
  • AI Interaction Model Shifted: Migrated from JSON Schema generation to OpenAI's Function Calling API.

New Features

  • MCP support for external tools and services
  • AppSettings and AppSettingsSection for managing application settings
  • Working directory setting for MCP
  • iOS simulator startup improvements
  • Updated core dependencies (Kotlin, Ktor)

Full Release Notes

## ✨ New Features

* **Model Context Protocol (MCP) Support:** Introduced initial support for MCP, enabling Arbigent to leverage external tools and services defined via MCP servers. You can configure MCP servers using a JSON string in the Project Settings.

**Example MCP Use Cases:**
* Install and launch applications
* Check server logs (e.g., user behavior) using external tools
* Retrieve debug logs
* Interact with various other custom tools and services

<img width="1263" alt="image" src="https://github.com/user-attachments/assets/943bd465-df06-430e-adc8-a4f7f50fdbc1" />


## ⚠️ Breaking Changes

* **Prompt Template Update Required**: The $ACTION_TEMPLATES placeholder has been removed from userPromptTemplate. If you are using a custom prompt template, please update it by removing this placeholder. Action definitions are now provided to the AI via the Function Calling mechanism.
* AI Interaction Model Shifted: The underlying mechanism for AI action selection has transitioned from JSON Schema generation to OpenAI's Function Calling API. This change enables MCP integration but may impact existing workflows. Please test your scenarios, as AI behavior or the reliability of certain action sequences might differ.

## Other Notable Changes

* Improved iOS simulator startup stability in CI.
* Updated core dependencies, including Kotlin and Ktor.

## What's Changed
* Add add-intel-mac to build by @takahirom in https://github.com/takahirom/arbigent/pull/213
* Improve iOS Simulator startup process with timeout and cleanup by @takahirom in https://github.com/takahirom/arbigent/pull/216
* Create MCP module and specification by @takahirom in https://github.com/takahirom/arbigent/pull/221
* Add MCP JSON configuration to project settings and UI by @takahirom in https://github.com/takahirom/arbigent/pull/222
* Implement MCP client with connection handling and tool execution by @takahirom in https://github.com/takahirom/arbigent/pull/223
* Add mcpScope function to manage MCP connection during scenario execution by @takahirom in https://github.com/takahirom/arbigent/pull/224
* Add MCP client support to AgentConfig by @takahirom in https://github.com/takahirom/arbigent/pull/225
* Add MCP client integration to execution chains by @takahirom in https://github.com/takahirom/arbigent/pull/226
* Fix text size for AI by @takahirom in https://github.com/takahirom/arbigent/pull/239
* Migrate to function call by @takahirom in https://github.com/takahirom/arbigent/pull/227
* Pass MCP tools from project by @takahirom in https://github.com/takahirom/arbigent/pull/228
* Adjust Tool calling by @takahirom in https://github.com/takahirom/arbigent/pull/229
* Fix MCP integration by @takahirom in https://github.com/takahirom/arbigent/pull/230
* Refactor MCP by @takahirom in https://github.com/takahirom/arbigent/pull/231
* Add AppSettings and AppSettingsSection for managing application settings by @takahirom in https://github.com/takahirom/arbigent/pull/233
* Implement Working directory setting for MCP by @takahirom in https://github.com/takahirom/arbigent/pull/234
* Add MCP E2E test by @takahirom in https://github.com/takahirom/arbigent/pull/235
* Add path setting and step design by @takahirom in https://github.com/takahirom/arbigent/pull/236
* Fix MCP when multiple connection by @takahirom in https://github.com/takahirom/arbigent/pull/237
* Fix self review points by @takahirom in https://github.com/takahirom/arbigent/pull/240


**Full Changelog**: https://github.com/takahirom/arbigent/compare/0.39.0...0.40.0