About @niklaserik/effect-mcp
@niklaserik/effect-mcp is an MCP server that fetches current documentation for the Effect ecosystem. It targets developers using VS Code or other MCP clients with Effect code, detecting relevant packages from imports and returning matching documentation.
Key features
- 01Fetch current Effect ecosystem package docs
- 02Detect packages from import statements
- 03Covers stable and experimental packages
- 04Ten-minute in-memory cache
- 05Lightweight retry on transient fetch errors
Use cases
- 01Asking API usage questions about Effect in VS Code
- 02Giving an AI assistant current @effect/platform documentation
MCP support
This is an MCP server that provides Effect documentation to MCP clients as resources and tools, using stdio transport by default.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README@niklaserik/effect-mcp
A Model Context Protocol (MCP) server dedicated to fetching the most current documentation from the Effect ecosystem.
Purpose
This MCP server provides real-time access to Effect documentation for AI assistants and tools. It enables VS Code extensions and other MCP clients to retrieve accurate and up-to-date Effect package documentation to assist developers with questions about:
- The core
effectpackage - Ecosystem packages (
@effect/platform,@effect/ai, etc.) - Both stable and unstable Effect packages
The server intelligently detects imported Effect packages in your code and fetches the most relevant documentation to answer your queries.
Features
- Real-time documentation access for Effect ecosystem
- Support for both stable and experimental packages
- Context-aware package detection based on imports
- Seamless integration with VS Code and other MCP-compatible clients
- Helps answer API usage questions for Effect developers
What this server exposes
- Resources (preferred)
- Dynamic template:
effect-docs://{libId} - Completions on
{libId}and resource listing are supported - Static aliases for discovery:
effect-docs://effect,effect-docs://@effect-platform, etc. - Supported libraries (as of now):
effect@effect/platform@effect/sql@effect/vitest@effect/ai@effect/cli@effect/cluster@effect/rpc@effect/typeclass
- Dynamic template:
- Tools (for compatibility)
effect-documentation: fetch docs for selected libraries and return concatenated markdowneffect-doc-links: return plain URIs to the resources above so clients can follow them
Caching & Retry
- In-memory TTL cache (~10 minutes) to avoid refetching unchanged docs.
- Lightweight retry with small backoff on transient fetch errors.
Installation
pnpm add @niklaserik/effect-mcp
Usage
For usage in VS Code or other MCP clients, refer to the client's documentation for adding custom MCP servers.
Quick test locally:
pnpm install
pnpm build
node dist/index.js # stdio transport
Then connect with an MCP client (e.g., MCP Inspector) over stdio and try:
- List resources and read
effect-docs://effect - Call tool
effect-doc-linkswith{ "libraries": ["effect", "@effect/platform"] }
Initialization instructions
- The server publishes short usage instructions via MCP initialize for clients that display them.
Development
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run in development mode with auto-reload
pnpm dev
Notes:
- Built with
@modelcontextprotocol/sdk@^1.17.4using the modernregisterResource/registerToolAPIs. - Transport: stdio by default; can be adapted to Streamable HTTP if needed.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.