About McpDocs
McpDocs is an SSE MCP server that provides an LLM with documentation for functions in an Elixir project and its dependencies. It is for Elixir developers who want project function documentation available to MCP-connected models.
Key features
- 01Serves Elixir function documentation
- 02Includes dependency function documentation
- 03Runs as an SSE server
Use cases
- 01Making project function docs available to an LLM
- 02Exposing dependency function docs during development
MCP support
McpDocs serves Elixir project and dependency function documentation to MCP clients over SSE.
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 READMEMcpDocs
Provide documentation about your Elixir project's functions and functions of dependencies to an LLM through an SSE MCP server.
See the example project for more information.
This code was written in part by Claude Sonnet 3.5
Installation
def deps do
[
{:mcp_docs, github: "josiahdahl/mcp_docs", runtime: false, only: [:test, :dev]}
]
end
Usage
# Start the SSE server on the default port of 9702
mix mcp_docs.start
# Start on a specific port
mix mcp_docs.start --port 1234
You can also run with iex -S mix mcp_docs.start to allow for manual recompiling of code.
You can use npx @modelcontextprotocol/inspector to try it out on your code base.
Roadmap
- Automatically recompile on changes
- Look up module documentation
- Look up callback documentation
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.