原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Deixis

作者:jolars版本 0.2.2i★ –i在你的电脑上运行
注册名称io.github.jolars/deixis

安装

概览

作者提供的说明(英文原文)

Typed LSP operations for MCP clients.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

作者没有在注册中心列出安装信息。请查看下方作者的 README。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 jolars 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32655 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32655 个服务器的 49% 更新
  • 基础检查结果等于或优于此分类中其他 32655 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Deixis 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.2.2)于43天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Rust。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, SuperCollider

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

SuperCollider

作者:Tok

Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Deixis

Deixis is a Model Context Protocol (MCP) server that gives coding agents typed access to Language Server Protocol (LSP) operations. It manages explicitly configured language servers for one project and exposes their semantic capabilities without adding another filesystem, shell, editor, index, or memory layer.

[!WARNING]

Deixis is pre-alpha. Its semantic tools and guarded rename workflow work, but

no stability guarantees are available yet.

Capabilities

A configured Deixis session exposes fifteen read-only MCP tools by default. Starting it with --allow-mutation adds apply_rename as a sixteenth tool.

ToolPurpose
deixis_server_statusList attached servers or inspect one server in detail.
hoverReturn hover markup at a zero-based UTF-8 position.
signature_helpReturn call signatures and structured parameter details.
definitionFind definitions.
declarationFind declarations.
type_definitionFind type definitions.
implementationFind implementations.
referencesFind references, with explicit declaration inclusion.
incoming_callsFind callers and their call sites.
outgoing_callsFind callees and their call sites.
diagnosticsRequest pull diagnostics or return cached push diagnostics.
document_symbolsInspect a file outline when its symbol structure is needed.
workspace_symbolsSearch attached servers, or one explicitly named server.
prepare_renameCheck whether a symbol can be renamed at a position.
preview_renameValidate edits and return a diff plus a one-shot preview ID.
apply_renameApply one exact preview (requires --allow-mutation).

Deixis negotiates UTF-8, UTF-16, and UTF-32 positions, synchronizes documents from disk before file-scoped requests, gates every operation on the language server's advertised capabilities, and preserves source-server provenance in results. Several language servers may serve one immutable project root.

Recoverable LSP cancellations are retried up to three times after a bounded readiness wait. Retries share the original request timeout and stop when the MCP caller cancels. If retries are exhausted, the error reports the attempt count and preserves the language server's error details.

Navigation, hover, signature help, references, symbols, and call-hierarchy preparation also retry empty results observed during indexing and ContentModified errors within the same timeout and three-retry limit. After an empty result, Deixis waits for readiness up to the request deadline instead of spending retries while indexing continues. A server that remains busy produces a request_timeout error (30 seconds by default). ContentModified errors wait up to five seconds for readiness per retry. File-scoped retries verify that both the synchronized document and its contents on disk are unchanged before reusing a position. Nonempty results and empty results from servers with ready or unknown status throughout the request return immediately.

Use definition, type_definition, implementation, and references directly for targeted symbol navigation. Use document_symbols only when you need a file outline, such as a view of its types, functions, and nested members. It is not a default navigation step or a prerequisite for other queries. This guidance is also included in the MCP initialization instructions and tool description.

Calling deixis_server_status without arguments lists attached servers in lexical order and counts the remaining configured servers:

attached: python, rust

not attached: 3

An empty list is shown as attached: none; the count is included even when zero. Structured output contains attached (an array of configured names) and notAttached (a count). A server is attached after Deixis has synchronized at least one document with its current process. Servers that have not started or have started without a synchronized document count as not attached. Pass server for its detailed lifecycle and capability snapshot; start: true also requires an explicit server name.

references, incoming_calls, outgoing_calls, document_symbols, and workspace_symbols accept an optional limit (default 100, maximum 500) and offset (default 0). Each page also caps the compact JSON result array at 64 KiB. The structured pagination object reports returned, total, truncated, and, when more results remain, nextOffset. Continue with that offset and the same query arguments. Each call reruns the query, so file edits, indexing progress, or changes to attached servers can shift results between pages. Text responses summarize the page.

Every nested document symbol counts toward the limit. Symbols retain their hierarchy within a page; index and parentIndex identify relationships across pages, and childCount reports the full number of direct children. Individual items too large for a page are omitted, with their indexes listed in pagination.omitted and truncated: true. Pagination advances past these items. Counts and byte limits apply to the normalized results returned by Deixis; language servers still compute their full responses.

See DESIGN.md for the protocol and architecture and TODO.md for planned work.

Installation

Language servers are separate programs; install the ones you configure and make them visible in the environment of the MCP host.

Prebuilt binaries

The [latest GitHub release] provides archives for x86-64 and ARM64 Linux, Intel and Apple silicon macOS, and x86-64 Windows. Linux releases include both glibc and static musl builds.

Install the appropriate release automatically on Linux or macOS:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/jolars/deixis/releases/latest/download/deixis-installer.sh | sh

Or from PowerShell on Windows:

powershell -ExecutionPolicy Bypass -c "irm https://github.com/jolars/deixis/releases/latest/download/deixis-installer.ps1 | iex"

The installers place deixis in Cargo's binary directory. Each release also includes SHA-256 checksums and GitHub build attestations. Verify a downloaded archive with:

gh attestation verify deixis-aarch64-apple-darwin.tar.xz --repo jolars/deixis
Nix

Install the default flake package:

nix profile install github:jolars/deixis

Or run it without installing:

nix run github:jolars/deixis -- --root /path/to/project --config /path/to/config.toml
Cargo

Rust 1.98.0 or newer is required:

cargo install deixis --locked

The crates.io package belongs to the MCP Registry identity mcp-name: io.github.jolars/deixis.

To build a checkout instead:

git clone https://github.com/jolars/deixis.git

cd deixis cargo build --release --locked

The resulting binary is target/release/deixis (deixis.exe on Windows).

Configure language servers

Start with the tested example configuration, or define a single server:

[servers.rust]

command = "rust-analyzer" file_extensions = { ".rs" = "rust" }

Pass the file explicitly with --config, or install it as the user configuration:

PlatformDefault path when XDG_CONFIG_HOME is unset
Linux and other Unix~/.config/deixis/config.toml
macOS~/Library/Application Support/deixis/config.toml
Windows%APPDATA%\deixis\config.toml

$XDG_CONFIG_HOME/deixis/config.toml takes precedence on every platform when that variable is set. An explicit --config takes precedence over the user configuration. Deixis never discovers configuration in the project tree.

The configuration is strict: unknown fields, empty commands, invalid routes, and zero-valued bounds stop startup with an error. The configuration reference documents every field, default, routing rule, and process limit.

Connect an MCP client

Deixis is a local stdio server. The MCP host must launch the binary directly; do not wrap it in a shell command. Set the project either with --root or by starting Deixis in the project directory. The root defaults to the current working directory and is canonicalized once at startup.

Codex

Add Deixis from the command line:

codex mcp add deixis --env RUST_LOG=deixis=info -- /absolute/path/to/deixis --root /absolute/path/to/project --config /absolute/path/to/config.toml

Or add a project-scoped .codex/config.toml:

[mcp_servers.deixis]

command = "/absolute/path/to/deixis" args = [ "--root", "/absolute/path/to/project", "--config", "/absolute/path/to/config.toml", ] tool_timeout_sec = 70

[mcp_servers.deixis.env] RUST_LOG = "deixis=info"

The 70-second host tool timeout accommodates the default 30-second LSP startup and request bounds when the first tool call starts a server lazily. Codex's startup_timeout_sec applies to the Deixis MCP handshake, not to a downstream language server. See the current [Codex MCP documentation] for all host-side options.

JSON-based MCP hosts

For a host that uses an mcpServers JSON object, use the equivalent stdio entry. Consult the host's documentation for its configuration file location.

{

"mcpServers": { "deixis": { "command": "/absolute/path/to/deixis", "args": [ "--root", "/absolute/path/to/project", "--config", "/absolute/path/to/config.toml" ], "env": { "RUST_LOG": "deixis=info" } } } }

Use absolute paths when the host does not inherit your interactive shell's PATH. The configured language-server commands must also resolve in the host's environment.

Home Manager

The flake provides homeManagerModules.default. A nonempty typed server catalog installs Deixis, writes its user configuration, and registers one root-agnostic command in programs.mcp.servers:

Add the flake input:

inputs.deixis = {

url = "github:jolars/deixis"; inputs.nixpkgs.follows = "nixpkgs"; };

Then import and configure the Home Manager module:

{ inputs, ... }:

{ imports = [ inputs.deixis.homeManagerModules.default ];

programs.deixis = { enable = true; servers = { rust = { command = "rust-analyzer"; fileExtensions.".rs" = "rust"; }; typescript = { command = "typescript-language-server"; args = [ "--stdio" ]; fileExtensions.".ts" = "typescript"; }; }; }; }

The generated command has no fixed root, so each MCP process binds to its working directory. Set programs.deixis.configFile instead of servers to install an existing TOML file. The two options are mutually exclusive.

Operation

Language servers start only when selected by a tool call. File-scoped tools accept a project-relative or root-contained absolute path and an optional configured server name. Position-based tools also accept:

{ "line": 12, "character": 8 }

Both values are zero-based; character is a UTF-8 byte

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx