iOS开发知识库服务器

该项目是为大型语言模型提供iOS开发基础知识库的模型上下文协议(MCP)服务器,涵盖最佳实践、设计模式和框架文档。

  • by ufukkaraca
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ufukkaraca/ios_development_mcp

使用说明

iOS开发MCP服务器

引言

该项目是一个模型上下文协议(MCP)服务器,旨在为iOS开发基础上的大型语言模型(LLM)提供基础知识库。

我创建这个是因为我发现自己经常提醒我的人工智能模型关于构建iOS应用程序的核心概念、最佳实践和常见设计模式。该服务器作为一个简单、可访问的参考工具,任何兼容MCP的AI都可以使用它来加快iOS开发的速度,确保他们有一套一致和准确的基础知识来使用。

这是一项正在进行的工作,也是一个原型。 它实际上是vibe编码的,可以更好地感知代码。对此持保留态度,请随时贡献或提出改进建议!

特性

  • 最佳实践:访问一个精心策划的iOS开发最佳实践数据库,涵盖以下主题:
    • 架构(MVVM、依赖注入)
    • 网络(异步/等待)
    • 可访问性(画外音、动态类型)
    • App Store提交指南
    • Swift并发(异步/等待、参与者、结构化并发)
  • 设计模式:获取常见Swift设计模式的清晰解释和代码示例,包括:
    • 带SwiftUI的MVVM
    • 联合起来建立网络
    • 单例
    • 委托
  • 框架文档:一个(模拟的)界面,用于浏览Apple的开发人员文档,以了解SwiftUI和UIKit等框架。

入门指南

先决条件

安装

  1. 克隆存储库:
    git clone <your-repo-url>
    
  2. 导航到项目目录:
    cd ios_development_mcp
    
  3. 安装依赖项:
    npm install
    

构建

在运行服务器之前,您需要编译TypeScript源代码:

npm run build

运行服务器

您可以直接使用以下命令运行服务器:

npm start

这将启动MCP服务器,该服务器将监听 stdio.

与编辑器一起使用

您可以将代码编辑器配置为使用此服务器,允许您的AI助手直接访问其工具。

光标/VCode

对于Cursor和VSCode,您可以将本地MCP服务器配置添加到您的用户设置中。

  1. 打开设置:

    • 按 Cmd + Shift + P (或 Ctrl + Shift + P 在Windows上)打开命令面板。
    • 搜索“首选项:打开用户设置(JSON)”并选择它。
  2. 添加服务器配置:

    • 添加以下内容 mcp.servers 配置到您的 settings.json 文件。确保使用 绝对路径 到 index.js 项目中的文件 dist 目录。
    "mcp.servers": [
        {
            "name": "iOS Dev MCP",
            "command": "node",
            "args": ["{path_to_this_repo}/dist/index.js"],
            "transport": "stdio"
        }
    ]
    
  3. 重新加载和使用:

    • 保存 settings.json 文件并重新加载编辑器。
    • 您的AI助手(如Cursor中的助手)现在可以访问此服务器提供的工具。你可以问它诸如“iOS上可访问性的最佳实践是什么?”或“向我展示Swift中的委托模式”之类的问题,它将使用此服务器来获取答案。

与检查员一起进行手动测试

与此服务器交互的最佳方式是使用MCP兼容的客户端,例如 @modelcontextprotocol/inspector.

  1. 启动检查器:从项目目录中运行以下命令。这将启动检查器的web UI并自动将其连接到您的服务器。

    npx @modelcontextprotocol/inspector node dist/index.js
    

    如果遇到问题,也可以手动启动检查器(npx @modelcontextprotocol/inspector)并使用从UI连接 stdio 指挥运输 node 和论点 dist/index.js.

  2. 测试工具:使用检查器的web UI(通常在 http://localhost:6274)调用可用工具并查看其响应。例如,您可以通过调用 get_best_practices 工具具有以下输入:

    {
      "topic": "swift-concurrency"
    }
    

后续步骤

接下来,我想在这里获得完整的苹果开发者文档,以及更多的最佳实践和设计模式。如果您有建议或贡献,请参阅下面的贡献部分。

贡献

欢迎投稿!如果您对服务器的其他最佳实践、设计模式或改进有建议,请打开问题或提交拉取请求。