Skip to main content
Glama

FxKit MCP Server

A Model Context Protocol (MCP) server that provides comprehensive documentation and assistance for the FxKit C# functional programming library.

Overview

FxKit MCP dynamically fetches and serves documentation from the official FxKit documentation site, providing AI models with:

  • Complete documentation for all FxKit types (Option, Result, Validation, Unit)

  • Compiler services documentation (source generators, analyzers)

  • Code examples and API references

  • Search capabilities across all documentation

  • Pre-built prompts for common FxKit patterns

Features

Resources

The server exposes FxKit documentation sections as MCP resources:

  • introduction - FxKit overview and concepts

  • getting-started - Installation and setup guide

  • option - Option type documentation

  • result - Result type documentation

  • validation - Validation type documentation

  • unit - Unit type documentation

  • compiler-overview - Compiler services overview

  • enum-match - EnumMatch generator

  • union - Union type generator

  • lambda - Lambda generator

  • transformer - Transformer generator

  • testing - Testing utilities

Tools

Interactive tools for querying FxKit documentation:

  • search_documentation - Search across all documentation

  • get_examples - Get code examples for specific features

  • list_packages - List available NuGet packages

Prompts

Pre-configured prompts for common FxKit patterns:

  • convert-nullable-to-option - Convert nullable types to Option

  • railway-oriented-programming - Implement railway-oriented patterns

  • validation-multiple-errors - Use Validation for error accumulation

  • generate-union-types - Create union types with source generators

Installation

From Source

  1. Clone this repository:

git clone https://github.com/taxfyle/fxkit-mcp.git cd fxkit-mcp
  1. Install dependencies:

npm install
  1. Build the project:

npm run build

Global Installation

npm install -g @taxfyle/fxkit-mcp

Usage

With Claude Code

{ "mcpServers": { "fxkit-docs": { "command": "npx", "args": [ "-y", "@taxfyle/fxkit-mcp@latest" ], "env": {} } } }

With Claude Desktop

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "fxkit-docs": { "command": "node", "args": ["/path/to/fxkit-mcp/dist/index.js"] } } }

Or if installed globally:

{ "mcpServers": { "fxkit-docs": { "command": "fxkit-mcp" } } }

With MCP Inspector

Test the server using the MCP Inspector:

npx @modelcontextprotocol/inspector tsx src/index.ts

Programmatic Usage

import { FxKitMcpServer } from 'fxkit-mcp'; const server = new FxKitMcpServer(); await server.start();

Development

Running in Development Mode

npm run dev

Project Structure

fxkit-mcp/ ├── src/ │ ├── index.ts # Main entry point │ ├── server.ts # MCP server implementation │ ├── types.ts # TypeScript type definitions │ ├── fetcher/ │ │ └── docs-fetcher.ts # Documentation fetching logic │ ├── resources/ # Resource handlers (if extended) │ ├── tools/ # Tool implementations (if extended) │ └── prompts/ # Prompt templates (if extended) ├── dist/ # Compiled JavaScript ├── package.json ├── tsconfig.json └── README.md

Testing

The server includes a test mode that verifies all documentation endpoints are accessible:

npm test

Examples

Using with an AI Assistant

Once configured, you can ask your AI assistant questions like:

  • "Show me the FxKit documentation for the Result type"

  • "Search for examples of railway-oriented programming with FxKit"

  • "How do I convert nullable types to Option in FxKit?"

  • "Generate a union type for payment methods using FxKit"

The AI will use the MCP server to fetch relevant documentation and provide accurate, up-to-date information about FxKit.

Architecture

The server uses a dynamic fetching approach:

  1. No Static Content: Documentation is fetched on-demand from the live FxKit documentation site

  2. Caching: Responses are cached for 5 minutes to improve performance

  3. HTML Parsing: Uses Cheerio to extract content and code examples from documentation pages

  4. Type Safety: Full TypeScript implementation with strict typing

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Adding New Documentation Sections

To add new documentation sections:

  1. Update the paths array in src/fetcher/docs-fetcher.ts

  2. Add corresponding resource registration in src/server.ts

  3. Test that the new section is accessible

Extending Tools

New tools can be added in src/server.ts in the setupTools() method. Follow the existing pattern using registerTool().

License

MIT

Acknowledgments

Support

For issues related to:

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/taxfyle/fxkit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server