大家好!我是韩老师。

如果作为程序员的你,还不了解 MCP (Model Context Protocol) 的话,那韩老师劝你赶紧去补补课吧!

本文不对 MCP 进行详细介绍~

简单来说,MCP is another LSP in AI World!

也许有一天,AI 程序员不懂 MCP,就犹如前端程序员不懂 JavaScript!

大家都知道韩老师开发了一款超过 7000 万下载量的 Code Runner VS Code extension 吧!

那么,如果把 Code Runner 的代码运行功能,做成一个 MCP Server,那么是不是会很强大!

于是,周三晚上,说干就干!

构思、设计、开发、调试、测试、发布,一气呵成!

我发布了 Code Runner MCP Server:

https://www.npmjs.com/package/mcp-server-code-runner

刚刚看了下,发布不到一天时间,已有 221 个下载量了!

因为可以运行多种编程语言,你甚至可以通过 Python/JS 等主流语言,把 Code Runner MCP Server 作为灵活又强大的 Computer Use!
这个 Computer Use tool 可以干任何事!

比如,查询当前 OS 的 CPU 信息:

比如,查询 MSFT 最新股价:

比如,给当前窗口截图,并保存图片到本地。

在上面的例子中,当遇到 pip 包没有安装时,GH Copilot Agent 甚至能帮忙自动安装,最终完成截图任务!

Simple, but just work!

任何 Python/JS 能干的事,Code Runner MCP Server 都能干!

你可以在任何支持 MCP 协议的客户端中使用 Code Runner MCP Server:VS Code、CursorWindsurf、Claude Desktop 等等。(注:VS Code 需要用最新的 Insider 版本。)

支持的编程语言:JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, C# Script, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Clojure, Racket, Scheme, AutoHotkey, AutoIt, Kotlin Script, Dart, Haskell, Ni, Lisp, Kit, V, SCSS, Sass。

目前 Code Runner MCP Server 还只支持 stdio。未来支持 SSE 之后,甚至还能在 remote 跑!

好了,说完了第一个项目。

那么再来说说第二个项目吧!

为什么一晚上要肝两个项目啊?

主要是现在 MCP Server 的开发体验不太行,坑不少,甚至连 scaffolding tool 都没!

《如果你觉得TA不够好,那就是改进TA》

于是,我开发了 Yoeman Generator for MCP Server:

https://www.npmjs.com/package/generator-mcp

现在开始,scaffolding tool 有了!

通过 Yoeman Generator,你可以在命令行中,轻松创建一个 MCP Server 了!

一些想法

在使用和开发 MCP 的过程中,有一些观点和想法,随便分享下:

1. 从 MCP 支持的两个协议 stdio 和 SSE 来看,MCP 确实有点“快而糙”。如果我当年本科的暑假大作业,还有一天就要deadline了,我也许才会选择这两个协议,能让我快速出活。

2. 不过呢,MCP的“成功”,也许并不是因为它做到了最好,而是它出的早,抢占了先机。然后今年一月份二月份 Cursor 和 Windsurf 纷纷支持了 MCP,加速了 MCP 的广泛应用。开发者写一份 MCP Server 就能在许多主流的 AI IDE/AI Application 中使用,那必是极好的。

3. 生态,很重要。现在已经可以看到成千上万的 MCP Server 了,以及许多支持 MCP 的 IDE 或者应用客户端。这样会形成一个良性循环。开发者就会有动力来开发新的 MCP Server 或者 MCP Hosts,以及相应的周边。IBM 最近也出了个 ACP (Agent Communication Protocol),如果生态做不起来,那也难玩。同样的道理,近些年,你会经常发现一些新出来的编辑器,不过,它们很多都有一个共同点,就是支持运行 VS Code 插件。这,就是插件生态的重要性。

当然了,总体来说,我个人还是很看好 MCP 的未来的~

未来可期!

最近也看到了业界不少很有意思的 MCP 项目,之后有时间再和大家分享吧~

最后提一下,我的两个 MCP 项目完全开源,欢迎来围观或者一起共谋大业:

https://github.com/formulahendry/mcp-server-code-runner

https://github.com/formulahendry/generator-mcp

Code Runner MCP Server,来了!的更多相关文章

  1. VScode中运行python程序,使用Code Runner插件

    把我的py文件加载在里面,想要运行一下. 可是...没有动静 于是我又到网上去查,原来要配置tasks.json,可我照着网上的方法弄好后还是没法运行,于是我便投入了code runner的怀抱 co ...

  2. 解决VS Code使用code runner开发Python乱码问题

    微软开发的VS Code是一个跨平台的文本编辑器,通过各种插件,可以把自己武装成无所不能的IDE. 刚刚安装完VS Code时,迫不急待地安装了C/C++.Python以及Code Runner插件, ...

  3. vscode修改code runner插件默认使用的编译器

    code runner的原理就是自动帮你完成在控制台中输入切换路径和编译源代码以及运行编译好的程序的指令 编译指令是根据配置文件中一开始写好的模板来执行的 不同语言对应一条指令,运行code runn ...

  4. SQLyog恢复数据库报错解决方法【Error Code: 2006 - MySQL server has gone away】

    https://blog.csdn.net/niqinwen/article/details/8693044 导入数据库的时候 SQLyog 报错了 Error Code: 2006 – MySQL ...

  5. code runner运行终端的目录设置

    我的github:swarz,欢迎给老弟我++星星 该设置属性为 "code-runner.fileDirectoryAsCwd": true 设置为 true后,终端默认目录为运 ...

  6. 2019年终总结:10场演讲、内推20人、公众号2万粉丝、Code Runner 1000万下载

    2019年是值得记录的一年,成长许多,也收获许多. 做了 10 场大会的技术演讲,成功内推 20 人拿到微软 Offer,知乎 Live 2000 听众,公众号 2 万粉丝,GitHub 2万 sta ...

  7. 解决 VS Code「Code Runner」插件运行 python 时的中文乱码问题

    描述 这里整理了两种 VS Code「Code Runner」插件运行 python 时乱码的解决方案.至于设置「Auto Guess Encoding」为 true 的操作这里就不多描述了. 乱码截 ...

  8. 解决 android studio 出现:"AndroidStudio:Could not GET 'https://dl.google.com Received status code 400 from server: Bad Request"问题

    一.android studio 编译项目时出现"AndroidStudio:Could not GET 'https://dl.google.com Received status cod ...

  9. Integrating .NET Code and SQL Server Reporting Services

    SQL Server Reporting Services versions 2000 and 2005 (SSRS) has many powerful features. SSRS has a w ...

  10. Android Studio Gradle build 报错:Received status code 400 from server: Bad Request

    错误提示如下 Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/ ...

随机推荐

  1. C# 设置label(标签)控件的背景颜色为透明

    有时候,我们需要将控件的背景颜色设定为透明,比如说label(标签)控件.那么,如何将控件的背景颜色设定为透明?是不是只要将控件的BackColor属性设为Transparent(透明)就可以了呢?答 ...

  2. .NET 开发的分流抢票软件,不做广告、不收集隐私

    前言 每年春节大家必备的抢票工具Bypass-分流抢票.分流抢票是一款免费无广适用于PC端的自动分流抢票软件. 分流抢票,是以用户为中心.人性化的抢票软件.不做广告.不做推广.不携带病毒.不收集隐私信 ...

  3. 通过WebView2获取HTTP-only cookie

    通过WebView2获取HTTP-only cookie可以使用`WebView2.CookieManager`类的方法.以下是一个示例代码,演示如何获取HTTP-only cookie: using ...

  4. git与svn的对比-copy

    SVN与Git比较的优缺点差异   目录: SVN与Git比较(一)集中式vs分布式 SVN与Git比较(二)版本库与工作区 SVN与Git比较(三)全局版本号和全球版本号 SVN与Git比较(四)部 ...

  5. 领域驱动设计实战-DDD

    --------------------- 领域驱动(DDD,Domain Driven Design)为软件设计提供了一套完整的理论指导和落地实践,通过战略设计和战术设计,将技术实现与业务逻辑分离, ...

  6. runoob-scipy(python)

    https://www.runoob.com/scipy/scipy-tutorial.html SciPy 教程 SciPy 是一个开源的 Python 算法库和数学工具包. Scipy 是基于 N ...

  7. 一文读懂 es6 中class方法中的this绑定

    一直以来有这么个疑问? class 的方法中没有自动的绑定this 为什么手动绑定之后,在绑定之后的方法里调用class中的其他的方法(这个方法为什么就能使用this,不也应该是null或者undef ...

  8. MongoDB:【索引类型】单字段索引、复合索引、其他索引

    查询性能分析:

  9. Medjed pg walkthrough Intermediate window

    nmap nmap -p- -A -sS -T4 192.168.219.127 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-22 01 ...

  10. Educated PG walkthrough Intermediate

    nmap 扫 到 80 22 dirsearch 扫描发现 ┌──(root㉿kali)-[~] └─# dirsearch -u http://192.168.167.13/ /usr/lib/py ...