VS?Code擴(kuò)展Code?Runner?MCP?Server來(lái)了
大家好!我是韓老師。
如果作為程序員的你,還不了解 MCP (Model Context Protocol) 的話,那韓老師勸你趕緊去補(bǔ)補(bǔ)課吧!
本文不對(duì) MCP 進(jìn)行詳細(xì)介紹~
簡(jiǎn)單來(lái)說(shuō),MCP is another LSP in AI World!
也許有一天,AI 程序員不懂 MCP,就猶如前端程序員不懂 JavaScript!
大家都知道韓老師開(kāi)發(fā)了一款超過(guò) 7000 萬(wàn)下載量的 Code Runner VS Code extension 吧!
那么,如果把 Code Runner 的代碼運(yùn)行功能,做成一個(gè) MCP Server,那么是不是會(huì)很強(qiáng)大!
于是,周三晚上,說(shuō)干就干!
構(gòu)思、設(shè)計(jì)、開(kāi)發(fā)、調(diào)試、測(cè)試、發(fā)布,一氣呵成!
我發(fā)布了 Code Runner MCP Server:
https://www.npmjs.com/package/mcp-server-code-runner
剛剛看了下,發(fā)布不到一天時(shí)間,已有 221 個(gè)下載量了!
因?yàn)榭梢赃\(yùn)行多種編程語(yǔ)言,你甚至可以通過(guò) Python/JS 等主流語(yǔ)言,把 Code Runner MCP Server 作為靈活又強(qiáng)大的 Computer Use!
這個(gè) Computer Use tool 可以干任何事!
比如,查詢當(dāng)前 OS 的 CPU 信息:
比如,查詢 MSFT 最新股價(jià):
比如,給當(dāng)前窗口截圖,并保存圖片到本地。
在上面的例子中,當(dāng)遇到 pip 包沒(méi)有安裝時(shí),GH Copilot Agent 甚至能幫忙自動(dòng)安裝,最終完成截圖任務(wù)!
Simple, but just work!
任何 Python/JS 能干的事,Code Runner MCP Server 都能干!
你可以在任何支持 MCP 協(xié)議的客戶端中使用 Code Runner MCP Server:VS Code、Cursor、Windsurf、Claude Desktop 等等。(注:VS Code 需要用最新的 Insider 版本。)
支持的編程語(yǔ)言: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。未來(lái)支持 SSE 之后,甚至還能在 remote 跑!
好了,說(shuō)完了第一個(gè)項(xiàng)目。
那么再來(lái)說(shuō)說(shuō)第二個(gè)項(xiàng)目吧!
為什么一晚上要肝兩個(gè)項(xiàng)目?。?/p>
主要是現(xiàn)在 MCP Server 的開(kāi)發(fā)體驗(yàn)不太行,坑不少,甚至連 scaffolding tool 都沒(méi)!
《如果你覺(jué)得TA不夠好,那就是改進(jìn)TA》
于是,我開(kāi)發(fā)了 Yoeman Generator for MCP Server:
https://www.npmjs.com/package/generator-mcp
現(xiàn)在開(kāi)始,scaffolding tool 有了!
通過(guò) Yoeman Generator,你可以在命令行中,輕松創(chuàng)建一個(gè) MCP Server 了!
一些想法
在使用和開(kāi)發(fā) MCP 的過(guò)程中,有一些觀點(diǎn)和想法,隨便分享下:
1. 從 MCP 支持的兩個(gè)協(xié)議 stdio 和 SSE 來(lái)看,MCP 確實(shí)有點(diǎn)“快而糙”。如果我當(dāng)年本科的暑假大作業(yè),還有一天就要deadline了,我也許才會(huì)選擇這兩個(gè)協(xié)議,能讓我快速出活。
2. 不過(guò)呢,MCP的“成功”,也許并不是因?yàn)樗龅搅俗詈?,而是它出的早,搶占了先機(jī)。然后今年一月份二月份 Cursor 和 Windsurf 紛紛支持了 MCP,加速了 MCP 的廣泛應(yīng)用。開(kāi)發(fā)者寫一份 MCP Server 就能在許多主流的 AI IDE/AI Application 中使用,那必是極好的。
3. 生態(tài),很重要。現(xiàn)在已經(jīng)可以看到成千上萬(wàn)的 MCP Server 了,以及許多支持 MCP 的 IDE 或者應(yīng)用客戶端。這樣會(huì)形成一個(gè)良性循環(huán)。開(kāi)發(fā)者就會(huì)有動(dòng)力來(lái)開(kāi)發(fā)新的 MCP Server 或者 MCP Hosts,以及相應(yīng)的周邊。IBM 最近也出了個(gè) ACP (Agent Communication Protocol),如果生態(tài)做不起來(lái),那也難玩。同樣的道理,近些年,你會(huì)經(jīng)常發(fā)現(xiàn)一些新出來(lái)的編輯器,不過(guò),它們很多都有一個(gè)共同點(diǎn),就是支持運(yùn)行 VS Code 插件。這,就是插件生態(tài)的重要性。
當(dāng)然了,總體來(lái)說(shuō),我個(gè)人還是很看好 MCP 的未來(lái)的~
未來(lái)可期!
最近也看到了業(yè)界不少很有意思的 MCP 項(xiàng)目,之后有時(shí)間再和大家分享吧~
最后提一下,我的兩個(gè) MCP 項(xiàng)目完全開(kāi)源,歡迎來(lái)圍觀或者一起共謀大業(yè):
https://github.com/formulahendry/mcp-server-code-runner
https://github.com/formulahendry/generator-mcp
到此這篇關(guān)于VS Code擴(kuò)展Code Runner MCP Server來(lái)了的文章就介紹到這了,更多相關(guān)Code Runner MCP Server內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 教你如何實(shí)現(xiàn)容器化 MCP Server
- 輕松開(kāi)發(fā) Streamable HTTP MCP Server
- 在 VS Code 中,一鍵安裝 MCP Server!
- 從零開(kāi)始開(kāi)發(fā)一個(gè) MCP Server!
- Go語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn)查詢IP信息的MCP服務(wù)器
- 一文弄懂用Go實(shí)現(xiàn)MCP服務(wù)的示例代碼
- 一文帶你學(xué)會(huì)使用Go語(yǔ)言實(shí)現(xiàn)自己的MCP服務(wù)端
- SpringBoot項(xiàng)目引入MCP的實(shí)現(xiàn)示例
- .NET?MCP?文檔詳細(xì)指南
- 把 MCP Server 打包進(jìn) VS Code extension
相關(guān)文章
基于socket.io和node.js搭建即時(shí)通信系統(tǒng)
socket.IO是一個(gè)websocket庫(kù),包括了客戶端的js和服務(wù)器端的nodejs。官方地址:http://socket.io2014-07-07Node.js中讀取TXT文件內(nèi)容fs.readFile()用法
在本篇文章中我們給大家分享一下Node.js中讀取TXT文件內(nèi)容以及fs.readFile()的用法,需要的朋友們可以參考下。2018-10-10前端常見(jiàn)面試題之a(chǎn)sync/await和promise的區(qū)別
async/await是異步代碼的新方式,以前的方法有回調(diào)函數(shù)和Promise,下面這篇文章主要給大家介紹了關(guān)于前端常見(jiàn)面試題之a(chǎn)sync/await和promise區(qū)別的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07在Express中提供靜態(tài)文件的實(shí)現(xiàn)方法
這篇文章主要介紹了在Express中提供靜態(tài)文件的實(shí)現(xiàn)方法,將包含靜態(tài)資源的目錄的名稱傳遞給 express.static 中間件函數(shù),以便開(kāi)始直接提供這些文件,感興趣的可以了解一下2019-10-10詳解本地Node.js服務(wù)器作為api服務(wù)器的解決辦法
本篇文章主要介紹了詳解本地Node.js服務(wù)器作為api服務(wù)器的解決辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02一文教你學(xué)會(huì)Nodejs中puppeteer的簡(jiǎn)單使用
Puppeteer是一個(gè)控制headless Chrome的Node.js API ,是一個(gè) Node.js庫(kù),在瀏覽器中手動(dòng)完成的大多數(shù)事情都可以通過(guò)使用 Puppeteer完成,本文主要介紹了Puppeteer的簡(jiǎn)單使用,希望對(duì)大家有所幫助2024-01-01