Token导航 LogoToken导航

MCP Server · AI代理

Swift Open AI Agentic

SwiftOpenAIAgentic是一个用于构建支持工具调用的AI代理的Swift SDK,提供生产就绪的API,支持MCP集成和自定义工具开发。

未说明官方级别未说明来源级核验工具 0
AI代理Swift本地部署

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
mfreiwald
提供方
mfreiwald

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

1 个

MCP World

选型结论

Swift Open AI Agentic 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

SwiftOpenAIAgentic(可译为“Swift OpenAI 代理系统”或根据具体上下文简化为“Swift OpenAI 代理”)

一个用于构建支持工具调用的AI代理的Swift SDK。SwiftOpenAIAgentic提供了一个简洁、可投入生产的API,用于创建集成MCP(模型上下文协议)和自定义工具支持的LLM(大型语言模型)驱动应用程序。

特点/特性

  • ✅ OpenAI 工具调用 - 完全支持GPT-4、GPT-5及其他模型的功能调用
  • ✅ MCP集成 - 原生支持模型上下文协议服务器(HTTP传输)
  • ✅ 本地工具 - 作为工具执行shell命令和脚本
  • ✅ 自定义工具 - 便于实施的协议,用于自定义工具开发
  • ✅ 流媒体支持 - 实时流式传输最终响应以提升用户体验
  • ✅ 多轮对话 - 在多轮对话中保持对话历史记录
  • ✅ 事件委托 - 跟踪工具执行和代理事件
  • ✅ 线程安全 - 使用 Swift 并发功能(异步/等待,actor)构建
  • ✅ 已准备好投入生产 - 错误处理、取消支持和资源清理

要求

  • Swift 6.1及以上版本
  • macOS 15及以上版本 / iOS 18及以上版本
  • OpenAI API密钥

安装

Swift 包管理器

将 SwiftOpenAIAgentic 添加到您的 Package.swift:

dependencies: [
    .package(url: "https://github.com/mfreiwald/SwiftOpenAIAgentic.git", from: "1.0.0")
]

快速入门

基础聊天(无工具)

import SwiftOpenAIAgentic

let agenticAI = AgenticAI(apiKey: "your-openai-api-key")

let conversation = try await agenticAI.chat(
    message: "What is 2 + 2?",
    model: "gpt-4o-mini"
)

print(conversation.last?.content ?? "")

配备MCP工具的代理

import SwiftOpenAIAgentic

// Configure MCP server
let mcpServer = MCPServerConfig(
    name: "filesystem",
    transport: "http",
    url: "https://your-mcp-server.com/mcp"
)

let config = AgenticConfiguration(
    mcpServers: [mcpServer]
)

let agenticAI = AgenticAI(apiKey: "your-api-key", configuration: config)

// Initialize (connects to MCP servers)
await agenticAI.initialize()

// Chat with tools enabled
let conversation = try await agenticAI.chat(
    message: "List files in the current directory",
    model: "gpt-4o",
    enabledTools: ["mcp__*"] // Enable all MCP tools
)

print(conversation.last?.content ?? "")

await agenticAI.cleanup()

使用委托进行事件处理

class MyDelegate: AgentServiceDelegate {
    func agentService(_ service: AgentService, willExecuteTool toolName: String, arguments: String, toolCallId: String) {
        print("🔧 Executing: \(toolName)")
    }

    func agentService(_ service: AgentService, didExecuteTool toolName: String, result: String, toolCallId: String) {
        print("✅ Completed: \(toolName)")
    }

    func agentService(_ service: AgentService, didReceiveFinalResponse response: String) {
        print("💬 Response: \(response)")
    }

    func agentService(_ service: AgentService, didReceiveStreamContent content: String) {
        print(content, terminator: "")
    }

    func agentService(_ service: AgentService, didEncounterError error: Error) {
        print("❌ Error: \(error)")
    }
}

let agenticAI = AgenticAI(apiKey: "your-api-key")
let delegate = MyDelegate()
agenticAI.setAgentDelegate(delegate)

_ = try await agenticAI.chat(
    message: "Your message here",
    model: "gpt-4o",
    enableStreaming: true
)

多轮对话

var conversation: [ChatCompletionParameters.Message] = []

// First turn
conversation = try await agenticAI.chat(
    message: "What is the capital of France?",
    model: "gpt-4o-mini"
)

// Second turn - pass conversation history
conversation = try await agenticAI.chat(
    message: "What is its population?",
    model: "gpt-4o-mini",
    conversationHistory: conversation
)

自定义工具

import SwiftOpenAIAgentic
import SwiftOpenAI

class CalculatorTool: Tool {
    let name = "local__calculator"
    let description = "Perform basic arithmetic"

    var parameters: JSONSchema {
        JSONSchema(
            type: .object,
            properties: [
                "operation": JSONSchema(type: .string),
                "a": JSONSchema(type: .number),
                "b": JSONSchema(type: .number)
            ],
            required: ["operation", "a", "b"]
        )
    }

    func execute(arguments: String) async throws -> String {
        // Parse arguments and perform calculation
        // Return result as string
        return "Result: 42"
    }
}

let agenticAI = AgenticAI(apiKey: "your-api-key")
agenticAI.registerTool(CalculatorTool())

let conversation = try await agenticAI.chat(
    message: "Calculate 123 * 456",
    model: "gpt-4o-mini",
    enabledTools: ["local__calculator"]
)

建筑

SwiftOpenAIAgentic 基于几个关键组件构建:

核心组件

  • AgenticAI(可译为“代理智能AI”或根据具体语境简化为“智能代理AI”) 主入口点,高级API
  • AgentService(可译为“代理服务”) - 协调工具调用循环
  • 工具执行器 - 工具的中央注册表和执行引擎
  • 工具协议 - 所有工具(MCP、本地、自定义)的接口

MCP 集成

  • MCPClient 翻译成中文是“MCP客户端” - 基于Actor的MCP服务器连接管理器
  • MCP工具适配器 - 将MCP工具桥接到SwiftOpenAIAgentic Tool协议
  • MCPServerConfig 翻译为中文是“MCPServer配置” - MCP服务器的配置

本地工具

  • 本地工具 - 执行Shell命令和脚本
  • LocalToolsConfig 翻译成中文是“本地工具配置” - 基于JSON的工具配置

配置

代理配置

let config = AgenticConfiguration(
    baseURL: "https://api.openai.com/v1", // Optional: Custom base URL
    debugEnabled: false,                   // Enable debug logging
    mcpServers: [mcpServer1, mcpServer2], // MCP servers to connect
    localToolsConfigPath: "tools.json"    // Path to local tools config
)

let agenticAI = AgenticAI(apiKey: "key", configuration: config)

工具过滤

使用名称或通配符模式启用特定工具:

// Enable all MCP tools
enabledTools: ["mcp__*"]

// Enable specific tool
enabledTools: ["mcp__filesystem__read_file"]

// Enable all tools from specific server
enabledTools: ["mcp__github__*"]

// Mix MCP and local tools
enabledTools: ["mcp__*", "local__grep"]

高级用法

取消

let agenticAI = AgenticAI(apiKey: "key")

// Start long-running operation
Task {
    _ = try await agenticAI.chat(message: "Long task", model: "gpt-4o")
}

// Cancel from another context
agenticAI.cancel()

运行时MCP服务器管理

// Connect to server at runtime
try await agenticAI.connectMCPServer(newServerConfig)

// Disconnect from server
await agenticAI.disconnectMCPServer("servername")

// Get available tools
let tools = agenticAI.getAvailableTools()
print("MCP Tools: \(tools.mcpTools.count)")
print("Local Tools: \(tools.localTools.count)")

状态回调

agenticAI.setToolExecutorStatusCallback { message in
    print("📡 \(message)")
}

agenticAI.setToolExecutorEventCallback { event in
    switch event {
    case .executionStarted(let tool, let args):
        print("Starting: \(tool)")
    case .executionCompleted(let tool, let result):
        print("Completed: \(tool)")
    case .executionFailed(let tool, let error):
        print("Failed: \(tool) - \(error)")
    }
}

示例

查看 示例 包含完整、可运行示例的目录:

  • 基本示例 - 所有核心功能均已展示
  • 更多示例即将推出!

MCP服务器支持

SwiftOpenAIAgentic 目前支持:

  • ✅ HTTP传输(包括Zapier MCP服务器)
  • ⏳ 标准I/O传输(即将推出 - 需要进程包装器)

设置MCP服务器

对于基于HTTP的MCP服务器(例如,Zapier):

let server = MCPServerConfig(
    name: "zapier",
    transport: "http",
    url: "https://actions.zapier.com/mcp/v1/servers/YOUR_ID"
)

贡献;助力

欢迎贡献!请随时提交拉取请求。

许可证

\[此处填写您的许可证\]

功劳/贡献

SwiftOpenAIAgentic 从(某事物)中汲取灵感并提取了核心功能 SwiftOpenAICLI(可翻译为“Swift OpenAI 命令行接口”或“Swift OpenAI CLI”,具体根据上下文选择更贴切的表述),已适配为通用SDK使用。

依赖项

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Swift本地部署AI代理工具调用MCP集成Swift开发多轮对话

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Swift Open AI Agentic

MCP World · 本页

0未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Swift Open AI Agentic 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Swift Open AI Agentic 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Swift Open AI Agentic 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Swift Open AI Agentic 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Swift Open AI Agentic 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP