Token导航 LogoToken导航TokenDH.com
MCP Core (Crunchybananas) logo
AI代理未说明官方级别未说明来源级核验

MCP Core (Crunchybananas)

MCP Server

MCPCore是一个通用的Swift包,提供用于Model Context Protocol(MCP)服务器的核心类型,支持在macOS/iOS应用中嵌入以实现AI代理控制和开发测试。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
开发工具AI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

crunchybananas

提供方

crunchybananas

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCPCore

一个通用的Swift包,为模型上下文协议(MCP)服务器提供核心类型。设计用于嵌入任何macOS/iOS应用程序,以在开发过程中实现AI代理控制和测试。

目的

MCPCore为构建基于MCP的自动化提供了基础类型:

  • JSON-RPC 2.0协议类型 用于通信
  • 代理编排类型 (角色、模型、状态)
  • 链模板 用于多代理工作流
  • 数据传输对象 用于持久性抽象

安装

将MCPCore添加为Swift包依赖项:

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

然后添加 MCPCore 目标的依赖关系:

.target(name: "YourApp", dependencies: ["MCPCore"])

建筑边界

MCPCore中有什么(通用)

模块类型目的
JSONRPCJSONRPCRequest, JSONRPCResponse, JSONRPCError, JSONRPCId, JSONRPCParams, AnyCodable协议通信
工具定义MCPToolCategory, MCPToolGroup, MCPToolDefinition, MCPToolPermission工具元数据
代理类型MCPAgentRole, MCPAgentType, MCPAgentState, MCPFrameworkHint代理配置
副模型MCPCopilotModel, MCPModelFamilyAI模型选择
链模板MCPChainTemplate, MCPAgentStepTemplate工作流定义
MCP数据类型MCPRunRecordDTO, MCPRunResultDTO, MCPChainRunStatus, MCPServerStatus数据传输
MCP数据存在MCPDataPersisting 协议, MCPNullDataStore持久性抽象

主机应用程序中有什么(特定于应用程序)

组成部分责任
MCP服务器HTTP服务器、请求路由、工具调度
工具实现实际工具逻辑(文件操作、git等)
代理执行CLI调用、进程管理
验证配置特定于应用程序的验证规则
SwiftData模型持久存储实施
UI视图、导航、用户交互

公共API

代理角色

public enum MCPAgentRole: String, Codable {
  case planner     // Read-only: analyze, plan
  case implementer // Full access: edit files, run commands
  case reviewer    // Read-only: review changes
  
  var systemPrompt: String  // Role-specific instructions
  var canWrite: Bool        // Permission check
  var deniedTools: [String] // Tools to block
}

AI模型

public enum MCPCopilotModel: String, Codable, CaseIterable {
  case claudeSonnet45, claudeHaiku45, claudeOpus45, claudeSonnet4
  case gpt51CodexMax, gpt51Codex, gpt52, gpt51, gpt5, gpt51CodexMini, gpt5Mini, gpt41
  case gemini3Pro
  
  var displayName: String
  var premiumCost: Double  // 0 = free tier
  var isFree: Bool
  var family: MCPModelFamily
}

链模板

public struct MCPChainTemplate: Identifiable, Codable {
  let id: UUID
  var name: String
  var description: String
  var steps: [MCPAgentStepTemplate]
  var isBuiltIn: Bool
  
  static var builtInTemplates: [MCPChainTemplate]  // 7 generic templates
}

数据持久化

public protocol MCPDataPersisting: Sendable {
  func saveRunRecord(_ record: MCPRunRecordDTO) async throws
  func loadRunRecords(limit: Int) async throws -> [MCPRunRecordDTO]
  func saveRunResult(_ result: MCPRunResultDTO) async throws
  func loadRunResults(forChainId: UUID) async throws -> [MCPRunResultDTO]
}

内置模板

模板步骤成本
代码审查计划器→ 执行者→ 审阅者~2倍溢价
快速修复计划器→ 实施者~2倍溢价
免费评论规划师→ 执行者→ 审稿人(全部免费)免费
深度分析规划师(Opus)3倍溢价
多实施者计划者→ 2 实施者~2倍溢价
并行验证计划器→ 2 实施者→ 审阅者~2倍溢价
并行验证(免费)与免费模型相同免费

用法示例

import MCPCore

// Use type aliases for cleaner code
typealias AgentRole = MCPAgentRole
typealias CopilotModel = MCPCopilotModel

// Create a custom template
let template = MCPChainTemplate(
  name: "Custom Workflow",
  description: "My app's workflow",
  steps: [
    MCPAgentStepTemplate(role: .planner, model: .claudeSonnet45, name: "Analyzer"),
    MCPAgentStepTemplate(role: .implementer, model: .gpt41, name: "Worker")
  ]
)

// Implement persistence for your app
final class MyDataStore: MCPDataPersisting {
  func saveRunRecord(_ record: MCPRunRecordDTO) async throws {
    // Save to your database
  }
  // ... other methods
}

平台要求

  • macOS 26.0+
  • iOS 26.0+
  • Swift 5.9+

依赖项

没有。MCPCore有意实现无依赖性,以最大限度地提高可移植性。

许可证

麻省理工学院

目录标签

目录标签

开发工具AI代理工作流自动化C本地部署AI代理控制Swift开发JSON-RPC协议多代理工作流

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP