Zed是当前新流行的一种编辑器,支持MCP(模型上下文协议)
Mac下安装Zed比较简单,直接有安装包,在这里:
brew install --cask zed
Mac Monterey下是可以安装上的,亲测有效。
配置
使用Ctrl+Shift+P调出AI,然后设置使用的模型
可以使用deepseek,但是没有找到使用自建服务器的设置方法,有些遗憾。
附加学习
关于Zed里面的MCP部分,手册:Model Context Protocol - Zed
也就是有个Postgres数据库的MCP Server的扩展,代码在:https://github.com/zed-extensions/postgres-context-server
配置和使用,见后面
Zed Postgres Context Server
This extension provides a Model Context Server for Postgres, for use with the Zed AI assistant.
It adds a /pg-schema
slash command to the Assistant Panel.
Configuration
To use the extension, you will need to point the context server at a Postgres database by setting the database_url
in your Zed settings.json
:
{ "context_servers": { "postgres-context-server": { "settings": { "database_url": "postgresql://myuser:mypassword@localhost:5432/mydatabase" } } } }
Usage
/pg-schema <table-name>
: Retrieve the schema for the table with the given name./pg-schema all-tables
: Retrieve the schemas for all tables in the database.
设置参考这里:Context Server Extensions - Zed
Model Context Protocol
Zed uses the Model Context Protocol to interact with context servers:
The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you're building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need.
Check out the Anthropic news post and the Zed blog post for an introduction to MCP.
Try it out
Want to try it for yourself?
The following context servers are available today as Zed extensions:
- Postgres Context Server
Bring your own context server
If there's an existing context server you'd like to bring to Zed, check out the context server extension docs for how to make it available as an extension.
If you are interested in building your own context server, check out the Model Context Protocol docs to get started.
Context Servers
Extensions may provide context servers for use in the Assistant.
Example extension
To see a working example of an extension that provides context servers, check out the postgres-context-server extension.
This extension can be installed as a dev extension if you want to try it out for yourself.
Defining context servers
A given extension may provide one or more context servers. Each context server must be registered in the extension.toml
:
[context_servers.my-context-server]
Then, in the Rust code for your extension, implement the context_server_command
method on your extension:
impl zed::Extension for MyExtension { fn context_server_command( &mut self, context_server_id: &ContextServerId, project: &zed::Project, ) -> Result<zed::Command> { Ok(zed::Command { command: get_path_to_context_server_executable()?, args: get_args_for_context_server()?, env: get_env_for_context_server()?, }) } }
This method should return the command to start up a context server, along with any arguments or environment variables necessary for it to function.
If you need to download the context server from an external source—like GitHub Releases or npm—you can also do this here.