Skip to main content
Glama

SHAP MCP Server (shap-mcp)

CI PyPI version Python 3.11+ License: MIT

SHAP(SHapley Additive exPlanations) 모델 설명 가능성을 에이전트 호출 가능한 도구로 노출하는 가볍고 집중된 Model Context Protocol (MCP) 서버입니다.

AI 어시스턴트(예: Claude Desktop)와 인간 데이터 과학자가 공유 인메모리 세션에서 원활하게 협업할 수 있도록 설계되었습니다.


주요 기능

  • 이중 동시 전송: Claude Desktop용 표준 stdio 전송과 함께 웹 GUI 및 생성된 시각화를 제공하는 포트 8765의 Starlette HTTP 전송.

  • 통합 인메모리 세션: 웹 GUI에서 분석을 실행하고 Claude에서 질문하거나, Claude가 분석을 트리거하고 생성된 플롯을 GUI 갤러리에서 즉시 확인.

  • 범용 모델 지원:

    • tree: XGBoost, LightGBM, CatBoost, RandomForest, ExtraTrees에 대한 정확한 TreeExplainer.

    • linear: 로지스틱 회귀, Ridge, Lasso에 대한 빠른 폐쇄형 LinearExplainer.

    • deep: PyTorch 신경망용 DeepExplainer.

    • kernel: 자동 kmeans 클러스터링을 사용한 모델 불가지론적 KernelExplainer.

  • 출판 준비 완료 시각화: 사전 형식화된 클릭 가능한 브라우저 및 로컬 파일 링크와 함께 6가지 플롯 유형(summary, bar, waterfall, force, dependence, heatmap)을 생성하고 저장.

  • URL 및 파일 수집: 로컬 경로 또는 공개 HTTP/HTTPS URL에서 모델 및 CSV 데이터세트를 스트리밍 다운로드, 자동 크기 제한(SHAP_MCP_MAX_DOWNLOAD_MB), 임시 파일 정리와 함께 수집.

  • 보안: HTTP 엔드포인트에 대한 선택적 API 키 인증(SHAP_MCP_API_KEY).


Related MCP server: my-mcp-server2

설치

# Standard installation
pip install shap-mcp

# Optional extra for PyTorch DeepExplainer support
pip install shap-mcp[deep]

Claude Desktop 구성

claude_desktop_config.json에 shap-mcp를 추가하세요:

범용 권장 설정 (uvx 사용)

{
  "mcpServers": {
    "shap-mcp": {
      "command": "uvx",
      "args": ["shap-mcp", "--no-ui"]
    }
  }
}

직접 Pip / Pipx 설정

{
  "mcpServers": {
    "shap-mcp": {
      "command": "shap-mcp",
      "args": ["--no-ui"]
    }
  }
}

도구 참조

도구

목적

주요 입력

load_model

.joblib/.pkl 모델 로드 및 설명자 구성

model_path 또는 model_url, model_type, background_path

run_analysis

데이터세트에 대한 SHAP 값 계산

data_path 또는 data_url 또는 인라인 data, sample_size

get_feature_importance

상위 특징의 전역 순위

top_n (기본값 10)

explain_prediction

단일 인스턴스에 대한 로컬 기여도 분석

index 또는 임의의 data 레코드

get_interaction

쌍별 특징 상호작용 강도 (트리 모델)

feature_a, feature_b

get_plot

클릭 가능한 URL로 PNG 시각화 렌더링 및 저장

plot_type, index, feature_name, color_feature, top_n


런타임 구성

모든 런타임 구성은 환경 변수를 통해 관리됩니다:

변수

기본값

설명

SHAP_MCP_PORT

8765

HTTP 서버 포트 (사용 중이면 자동 증가; --port 플래그가 우선)

SHAP_MCP_API_KEY

(설정 안 됨)

HTTP 인증용 Bearer 토큰; 설정 안 됨 = localhost에서 인증 불필요

SHAP_MCP_OUTPUT_DIR

./outputs/

생성된 플롯 PNG 저장을 위한 루트 디렉터리

SHAP_MCP_MAX_DOWNLOAD_MB

500

URL 기반 모델/데이터세트 다운로드에 허용되는 최대 크기 제한

SHAP_MCP_LOG_LEVEL

INFO

구조화된 JSON 로그 수준 (DEBUG, INFO, WARNING, ERROR)


웹 GUI

shap-mcp로 직접 시작하면 서버가 http://localhost:8765/ui/에서 웹 GUI를 자동으로 엽니다:

  • 구성 양식: 로컬 경로 또는 URL 입력, 모델 아키텍처 선택, 분석 실행.

  • 실시간 배지: 로드된 모델 상태, 분석된 행 수, 활성 설명자 유형을 실시간 표시.

  • 동적 플롯 갤러리: Claude 또는 GUI가 시각화를 생성하면 썸네일이 자동으로 나타납니다.

  • 인스턴스 설명자: 개별 특징 기여도의 대화형 테이블.


예정 기능 및 로드맵

다음 기능이 향후 릴리스에서 계획되어 있습니다:

  • save_analysis / load_analysis: 계산된 SHAP 값을 .npz 파일로 직렬화하여 재로드 시 재계산을 건너뛰고 팀 간 결과 공유.

  • 인증 보호 원격 수집: Hugging Face 토큰, 프라이빗 S3/GCS 버킷, 사전 서명된 URL 지원.

  • 탭 GUI 및 점진적 공개: 웹 GUI를 깔끔하고 집중된 탭으로 재설계하고 분석 완료에 따라 점진적으로 잠금 해제.

  • 대화형 시각화: mpld3를 통한 matplotlib 차트의 팬, 줌, 툴팁 호버 지원.

  • 플롯별 안내 프롬프트: 6가지 시각화 유형 각각에 맞춘 전용 MCP 프롬프트.

  • 멀티 테넌트 세션 격리: 공유 다중 사용자 서버 배포를 위한 연결 격리 세션 상태.

  • 추가 모델 형식: ONNX 런타임, MLflow 모델, Weights & Biases 모델 레지스트리 기본 지원.

  • 공정성 및 편향 분해: 하위 그룹별 인구통계적 패리티 및 슬라이스 기반 SHAP 분석.

  • MCP-UI 인라인 캔버스 및 로컬 드래그 앤 드롭: MCP-UI / MCP Apps 사양을 통한 채팅 내 캔버스 렌더링 및 로컬 드래그 앤 드롭 파일 수집으로 외부 브라우저 탭 및 클라우드 첨부 마찰 제거.


라이선스

MIT 라이선스. 자세한 내용은 LICENSE를 참조하세요.

Available Tools

6 tools
explain_predictionC

Return SHAP breakdown for a single instance.

Parameters

index : int | None Row index in the analyzed dataset. data : dict[str, Any] | None Inline feature dictionary for explaining an arbitrary instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNo
indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states the tool returns a SHAP breakdown but does not specify the output format (e.g., list, table), any side effects, or error behavior. Since there are no annotations, the description alone fails to convey what the user can expect beyond a vague 'breakdown'. No information on whether the model is retrained or data is modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (one sentence) and well-structured, but it is so brief that it sacrifices necessary information. While there is no fluff, the extreme brevity reduces its utility; a slightly longer description with parameter clarification would be more balanced.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description is still incomplete. It lacks any mention of when to use it relative to siblings, what parameters are required, or what the output looks like. The presence of sibling tools (get_feature_importance, get_interaction, etc.) makes contextual guidance essential, but none is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameters 'index' and 'data' are not described at all in the description. The schema provides no annotations, and the description adds no explanation of what these parameters mean, their constraints, or how they interact. A user cannot know whether to provide an index, data, or both, or what format 'data' should take.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb 'Return' and specifies the resource 'SHAP breakdown for a single instance', distinguishing it from sibling tools like get_feature_importance or get_plot. However, it does not elaborate on what the breakdown contains (e.g., feature contributions), leaving some ambiguity for users unfamiliar with SHAP.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the siblings, such as get_feature_importance or get_interaction. It does not mention any conditions, prerequisites, or typical scenarios, leaving the user to guess when this is the appropriate choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_feature_importanceA

Return global feature importance from stored SHAP values.

Parameters

top_n : int Number of top features to return (default: 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that the tool reads 'stored SHAP values' and returns global importance, implying a read-only operation. It does not mention ordering, error behavior, or what happens if SHAP values are absent, but 'top_n' implies a ranked result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose. The parameter documentation is minimal and directly useful, with no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one optional parameter and an output schema, the description is largely complete. It covers purpose, source, and parameter semantics. It could add explicit usage guidance relative to siblings, but that gap is minor given the clear purpose and available output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only the default value for top_n, while the description explains its meaning: 'Number of top features to return'. This adds real semantic value beyond the schema, fully compensating for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Return') and a specific resource ('global feature importance from stored SHAP values'). The word 'global' distinguishes it from sibling tools like explain_prediction (local) and get_interaction, and the source ('stored SHAP values') clarifies it is a read of precomputed results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when global feature importance from SHAP values is needed. However, it does not explicitly state when not to use it or name alternatives such as explain_prediction or get_interaction, leaving the routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_interactionB

Return SHAP interaction values between two features (Tree models only).

Parameters

feature_a : str Name of the first feature. feature_b : str Name of the second feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
feature_aYes
feature_bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It does add a key constraint ('Tree models only') and states that the tool returns SHAP interaction values, but it doesn't disclose prerequisites like having a loaded model, failure behavior for unsupported models, or the exact structure of the returned values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core description is one short, front-loaded sentence that delivers the main idea. The parameter section is clear but partially redundant with the schema, which keeps it from being a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool appears to have an output schema, so little is needed about return values. However, the description is minimal for a tool with no annotations: it lacks preconditions, error behavior, and sibling distinctions. It is a borderline acceptable definition but could be much more helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only restates the obvious: feature_a is the first feature and feature_b is the second. It doesn't explain where these names come from, expected format, or any relationship to model features, leaving the agent with little additional meaning over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Return' and identifies a distinct resource: SHAP interaction values between two features, with the important 'Tree models only' limitation. This purpose is clear and sufficiently differentiates it from sibling tools like get_feature_importance and explain_prediction, though it doesn't name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to choose this tool over its siblings. 'Tree models only' is a precondition, not a usage selection criterion, and no alternatives or trade-offs are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_plotA

Generate a SHAP visualization, save it as a PNG file, and return file path and URL.

Parameters

plot_type : str One of 'summary', 'bar', 'waterfall', 'force', 'dependence', 'heatmap'. index : int | None Row index in dataset (required for waterfall and force). feature_name : str | None Feature name (required for dependence). top_n : int Max features to show (default: 10). color_feature : str | None Feature to color by for dependence plots. output_path : str | None Override default output directory path.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNo
top_nNo
plot_typeYes
output_pathNo
feature_nameNo
color_featureNoauto

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that the tool saves a PNG file and returns a file path and URL, which is useful. However, it doesn't mention side effects like file system writes, potential overwrites, or any permissions needed. It also doesn't describe the output schema beyond the return of path and URL, though an output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear summary sentence followed by a parameter list. It's front-loaded with the core action and output. The parameter list is concise and informative, though it could be slightly more compact by merging some lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, an output schema, and no annotations, the description covers the essential usage details: plot types, conditional parameters, and output format. It doesn't mention error cases or edge conditions, but for a visualization tool, this is reasonably complete. The output schema likely covers return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does well by explaining each parameter's purpose, including conditional requirements (index for waterfall/force, feature_name for dependence) and defaults (top_n=10, color_feature='auto'). This adds significant value beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a SHAP visualization, saves it as PNG, and returns file path and URL. It lists the plot types, which helps distinguish it from siblings like get_feature_importance or explain_prediction. However, it doesn't explicitly differentiate from get_interaction, which might also produce plots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by listing required parameters for certain plot types (e.g., index for waterfall/force, feature_name for dependence), but it doesn't explicitly state when to use this tool versus alternatives like get_feature_importance or explain_prediction. No exclusions or alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load_modelA

Load a model file and instantiate the appropriate SHAP explainer.

Note: Prompt the user to provide local filesystem paths on their machine, public URLs, or upload via http://localhost:8765/ui/. Files attached directly in chat are stored in a cloud container (/mnt/user-data/) that local tools cannot reach.

Parameters

model_path : str | None Path to a local .joblib or .pkl model file. model_url : str | None Public URL to download a model file. model_type : str One of 'tree', 'linear', 'deep', 'kernel'. Default is 'tree'. background_path : str | None Path to background CSV dataset (optional for tree/kernel, required for deep).

ParametersJSON Schema
NameRequiredDescriptionDefault
model_urlNo
model_pathNo
model_typeNotree
background_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the weight. It discloses the operational constraint about cloud-container paths, which is a non-obvious behavioral detail. It also implies the tool is a prerequisite for other tools. It doesn't state whether it mutates state or returns the explainer, but the output schema exists, and the description is focused on prerequisites, which is beyond what schema conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized: a purpose sentence, a critical usage note, then parameter definitions. The warning about cloud paths is space-efficient and high-value. Slightly repetitive in noting upload methods, but overall concise and front-loaded with the most important behavioral caveat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with zero schema descriptions and no annotations, the description covers the key decision points: which parameter to set, required vs optional, and the path accessibility warning. It doesn't describe return values, but an output schema exists, so that's not required. The description is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description explains each parameter's purpose and optionality (model_path vs model_url as alternatives, background_path required for deep, optional for tree/kernel). It adds meaningful semantics beyond raw schema types, which is essential given zero coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool loads a model file and instantiates a SHAP explainer, specifying the model types (tree, linear, deep, kernel) and the input sources (local path, URL, or upload). This distinguishes it from sibling tools that focus on analysis/explanation, not loading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit guidance on when to use this tool (before running analyses) and, crucially, what not to do: it warns that files attached in chat are stored in a cloud container that local tools cannot reach, so the user must provide accessible paths. It doesn't explicitly mention alternatives (sibling tools are analysis tools, not load alternatives), but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_analysisB

Run SHAP explainer against a dataset.

Note: Ask the user for local file paths, public URLs (data_url), or use the Web GUI at http://localhost:8765/ui/. For small CSVs (< 500 rows), you may read the table from chat and pass the rows directly in data.

Parameters

data_path : str | None Path to a local CSV file. data_url : str | None Public URL to download a CSV dataset file. data : list[dict] | None Inline dataset passed as a JSON array. sample_size : int | None Override default auto-cap for dataset row sampling.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNo
data_urlNo
data_pathNo
sample_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool runs a SHAP explainer, but does not mention whether it is read-only, whether it modifies state, whether a model must be loaded first, or what side effects occur. The sample_size parameter hints at auto-sampling, but the overall behavioral profile is opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a clear purpose statement, a practical note, and a parameter list. Each section is necessary, particularly because the schema lacks parameter descriptions. It is not excessively verbose and is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description lacks important context. It does not mention whether a model must be loaded first (sibling load_model suggests so), what the default sampling behavior is, or how the tool behaves when conflicting data inputs are provided. These are critical for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description's parameter block is essential. It clearly explains each parameter: data_path, data_url, data, and sample_size. The guidance about small CSVs and using data directly in chat adds practical semantics. However, it does not explain mutual exclusivity or precedence when multiple data sources are supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Run SHAP explainer against a dataset', which is a specific verb and resource. It clearly distinguishes this from sibling tools like get_feature_importance or explain_prediction, which have different purposes. The intent is immediately understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to choose this tool over sibling tools like explain_prediction or get_interaction. The note about sourcing data (local paths, URLs, inline data) is about how to provide input, not which tool to select. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedexplain_prediction
    • First observedget_feature_importance
    • First observedget_interaction
    • First observedget_plot
    • First observedload_model
    • First observedrun_analysis

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: model loading, SHAP computation, global importance, local explanation, interaction values, and plotting. There is no overlap or ambiguity in what each tool does, so an agent can reliably select the correct one for a given task.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase and underscores (load_model, run_analysis, get_feature_importance, etc.). The verbs vary but are semantically appropriate, and the naming style is uniform across the set, making the API predictable.

Tool Count5/5

Six tools provide a well-scoped surface for SHAP analysis. This is an appropriate size that covers the core workflow (load, analyze, query results, plot) without redundancy or unnecessary bloat. Each tool earns its place in the server.

Completeness5/5

The tool surface covers the full lifecycle of a SHAP analysis: loading a model, running the explainer, retrieving global and local explanations, getting interactions, and generating visualizations. There are no obvious gaps that would block an agent from completing typical analysis tasks.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server built with FastMCP that features dynamic tool loading and modular management via a dedicated tool directory. It supports both stdio and HTTP transport modes, enabling efficient development and deployment of custom MCP tools.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A robust, lightweight Model Context Protocol (MCP) server designed to empower your AI Agents with context-awareness, safe execution sandboxes, and dedicated thought logs.
    -