Skip to content
CAI
Software that uses CAICheck a score

Neftedollar/FsLangMCP

72.1

Strong · 3 October 2026

27k

lines of production code

F#

with Python

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

FsLangMCP is an F\#-based Model Context Protocol server that provides AI agents with semantic code search and static analysis capabilities. It integrates with .NET build systems to parse SARIF diagnostics, manage project evaluations, and execute cross-project semantic sweeps. The system includes tooling for agent setup, caching, and pagination, supported by rigorous validation scripts and tests to ensure stability and performance.

Features

Added quickstart example demonstrating domain model usage

A new quickstart example has been added to help users understand how to use the Domain library. This includes a sample Order domain model with helper functions for description and large-order detection, along with a console application that demonstrates iterating over sample orders and applying these domain logic checks.

Domain, examples/quickstart · high confidence

Added shell completions and cross-platform wrapper scripts for the multiagent-setup CLI

Users can now benefit from improved command-line usability and easier access to the multiagent-setup tool. New PowerShell and Zsh completion scripts have been added to provide auto-completion for subcommands (such as 'new', 'add-provider', 'sync-roles'), provider options, and specific flags. Additionally, cross-platform wrapper scripts (install-mcps.ps1/sh and sync-roles.ps1/sh) have been introduced; these thin wrappers automatically ensure the multiagent-setup .NET global tool is installed and then delegate to the corresponding CLI commands, simplifying setup for both Windows and Unix-like environments.

tools · high confidence

Added a new \examples/quickstart\ directory containing a minimal two-project F\# solution (Domain and App) designed to verify FsLangMCP end-to-end in under three minutes. The example demonstrates the \find\ tool's ability to perform cross-project semantic sweeps (finding usages of \Order\ across projects) and the \check\ tool's compile verdict, contrasting these with naive text search. It includes a comprehensive \README.md\ with prerequisites, MCP server configuration instructions for agents like Claude Code and Cursor, and illustrative tool call responses, along with build isolation files (\Directory.Build.props\ and \.targets\) to prevent interference from the parent repository's settings.

examples · high confidence

New documentation and core implementation files for FsLangMCP v0.18.0

This change introduces the foundational documentation and implementation files for the FsLangMCP project, including an Agent Integration Guide, a detailed Changelog for v0.18.0, and a Contributing guide. It adds core F\# modules such as \AnalyzerDiagnostics.fs\ for parsing SARIF-based analyzer output, \BoundedCache.fs\ for thread-safe FIFO eviction, and \Cursor.fs\ for handling opaque, offset-based pagination with v2 cursor validation. The diff also includes build configuration files (\Directory.Build.props\, \Directory.Build.targets\) that enforce warnings-as-errors, exact NuGet package ranges, and analyzer paths, alongside a \CLAUDE.md\ workspace file and a \Dispatcher.fs\ module that routes consolidated \find\ and \check\ tool requests to their respective backends.

(repo-wide) · high confidence

Behavioural changes

New validation and soak-test scripts for tool descriptions and project reloads

Added \scripts/audit-tool-descriptions.py\ to enforce a 4-slot schema for MCP tool descriptions, ensuring they do not start with implementation-layer bracket tags and stay within a 500-character limit, while flagging overlaps that lack prefer/avoid callouts. Added \scripts/project-evaluation-soak.py\ to measure genuine project-options reloads in a fresh MCP host, verifying that MSBuild evaluation workers are properly reclaimed by comparing non-ThreadPool thread counts and latency metrics across cold, warm, and reload phases. These scripts support the stabilization of project reloads and the enforcement of cleaner, more consistent tool surface descriptions.

scripts · high confidence

Test coverage

Added test coverage for analyzer diagnostics, setup preview, and core bridge utilities; Added test coverage for project evaluation, SDK pinning, and runtime toolchain contracts.

Dependencies

Upgrade to .NET 10 and FsMcp 2.0 with dependency hardening

The project and its examples now target .NET 10.0 and upgrade the core FsMcp.Server and FsMcp.TaskApi libraries to version 2.0.0. This release also pins Microsoft.NET.StringTools to 18.9.6 to resolve MSBuild compatibility issues with Ionide.ProjInfo, and upgrades Nerdbank.MessagePack to 1.2.36 to address security vulnerabilities ([GHSA redacted], [GHSA redacted]). Additionally, Microsoft.VisualStudio.Threading.Only is pinned to 17.14.15 to prevent intermittent startup failures in fresh host processes.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 71 → 72 (+0.7)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 100 → 88 (-11.7)
  • Architecture 94 → 92 (-2.2)
  • Maturity 69 → 69 (+0.0)
  • Readiness 65 → 67 (+1.7)
  • Security 76 → 81 (+4.8)

Resolved (4)

  • Documentation: no architecture or design documentation (docs/tools-reference.md)
  • Documentation: no installation or build instructions (README.md)
  • Duplicated block (12 lines × 2) (scripts/runtime-toolchain.py)
  • Duplicated block (21–23 lines × 2) (scripts/runtime-toolchain.py)

New (14)

  • Documentation: contradicts the code (docs/workflows/WORKFLOW-bugfix-pipeline.md)
  • Documentation: contradicts the code (docs/workflows/WORKFLOW-content-pipeline.md)
  • Documentation: no project overview (docs/index.md)
  • FileTooLong: ./FcsBridge.fs (FcsBridge.fs)
  • FileTooLong: ./LspBridge.fs (LspBridge.fs)
  • FileTooLong: ./ProcessRunner.fs (ProcessRunner.fs)
  • FileTooLong: ./Program.fs (Program.fs)
  • FileTooLong: ./ProjectFiles.fs (ProjectFiles.fs)
  • FileTooLong: ./ProjectHealth.fs (ProjectHealth.fs)
  • FileTooLong: ./Types.fs (Types.fs)
  • Outdated: FSharp.Core
  • Scattered collaborators
  • TooManyMethods: FcsBridge (FcsBridge.fs)
  • TooManyMethods: FsAutoCompleteBridge (LspBridge.fs)

Architecture

  • Unchanged — 0 containers · 1 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Neftedollar/FsLangMCP was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 84e2b5d2302c6e9ebbcaaa01cd17ec070098ad27 — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.