install-language-server

install-language-server is a skill for Codex from p1va/symbols. It costs 40 tokens per session (1,801 once invoked), scanned A, original, MIT.

A setup and troubleshooting workflow for connecting a language server to the language-servers MCP. A language server is a program that understands a programming language and provides code navigation, completion, and diagnostics.

In plain words
What is it for?
Use it to add or repair support for languages such as TypeScript, Python, Rust, or C# in the language-servers MCP.
Why use it?
It removes the manual work of installing the right server, editing its profile, reloading the configuration, and checking that files are routed correctly.

Skill for Codex

Written for Codex: agents/openai.yaml present. Also seen: installed under .agents/ (shared by several agents).

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/p1va/symbols/install-language-server
Any agent
npx skills add p1va/symbols --skill install-language-server
Clone the repo
git clone --depth 1 https://github.com/p1va/symbols

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for install-language-server

README.md
[![agentmods](https://agentmods.dev/badge/skills/p1va/symbols/install-language-server.svg)](https://agentmods.dev/skills/p1va/symbols/install-language-server)
Your own site
<a href="https://agentmods.dev/skills/p1va/symbols/install-language-server"><img src="https://agentmods.dev/badge/skills/p1va/symbols/install-language-server.svg" alt="Measured on agentmods" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,801 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00040 $0.01801
Opus 5 $0.00020 $0.00901
Sonnet 5 $0.00008 $0.00360
Haiku 4.5 $0.00004 $0.00180

Measured 5d ago against content hash 2f31362b4578, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

install-language-server scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/install-language-server/SKILL.md · 114 lines

How it starts

The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Install Language Server

Context

language-servers is an MCP bridge to one or more Language Server Protocol servers. The MCP does not contain TypeScript, Pyright, Rust, or Roslyn itself. Instead it reads the active config file reported by language-servers://profiles. Each entry under language-servers: declares one profile: how to launch the server, which file extensions it handles, which workspace markers it expects, and any preload or environment settings.

When an MCP tool like outline, inspect, references, rename, completion, or diagnostics is called on a matching file, the MCP chooses the matching profile, starts that language server over stdio if needed, and proxies the request.

This skill is for the part the MCP will not do automatically:

  • make sure the language-servers MCP server is available in this session
  • find or bootstrap the active config file
  • install or verify the target language server binary
  • add or update one profile in that YAML file
  • run reload so the MCP rereads the YAML
  • validate that a real file now routes to the right spawned language server

Use this skill for both setup and troubleshooting:

  • Setup: bootstrap config if needed, add a new profile, reload, and validate.
  • Troubleshooting: inspect the existing profile and logs first, verify the binary and routing on a real file, and only edit YAML if the evidence points to a config problem.

Use language-servers://profiles as the source of truth:

  • it proves the MCP server is connected
  • manager.configPath tells you which YAML file is active
  • manager.state tells you whether config exists or setup is still uninitialized
  • profiles shows the declared profiles from YAML with runtime state overlaid on top
  • language-servers://profiles/{name} and language-servers://profiles/{name}/logs show per-profile details and logs

If language-servers://profiles is unavailable, stop and say that the language-servers MCP server is not connected in this session. Do not guess config state without the resource.

Read the full file on GitHub · 114 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 114 lines · 40 tokens per session scan A 2f31362b4578

Subscribe to this mod's changes

install-language-server is a skill published in the GitHub repository p1va/symbols (3 stars, last pushed 1mo ago), licensed MIT. It adds 40 tokens to every session and 1,801 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

reflection-method-call

Call a C# method by reflection — including private methods. Requires a method schema obtained via 'reflection-method-find'. Supports static methods, instance methods (with optional target deserialization), and main-thread / off-thread execution.

IvanMurzak/Unity-MCP · 48 tokens

script-execute

Compiles and executes C# code dynamically using Roslyn. Supports a full-code mode (default) and a body-only mode — see the skill body for the difference and for how to pass Unity object references as parameters.

IvanMurzak/Unity-MCP · 48 tokens

unity-version-split

Split a C# file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes (e.g., EntityId vs int, GetEntityId vs GetInstanceID).

IvanMurzak/Unity-MCP · 59 tokens

script-update-or-create

Write a .cs script file (create or overwrite) with the provided C# code. Validates syntax via Roslyn before write — invalid code is rejected with error details and the file is left untouched. Refreshes the AssetDatabase and delivers the final result via requestId after Unity finishes the triggered compilation. Use…

IvanMurzak/Unity-MCP · 80 tokens

build-cli

Build the unity-mcp-cli TypeScript CLI tool and link it globally for terminal use.

IvanMurzak/Unity-MCP · 21 tokens

vibeue

Unreal Engine 5 development using the VibeUE Python API. Use when working in Unreal Engine — blueprints, state trees, materials, actors, landscapes, animation, niagara, widgets, sound, foliage, gameplay tags, enhanced input, skeletons, PCG (procedural content generation), and more. VibeUE is an extension of Unreal's…

kevinpbuckley/VibeUE · 82 tokens