Skip to main content
Glama
ta-toshio

FileMaker MCP Server

by ta-toshio

Jaou Ensatsu Kokuryu FileMaker MCP

FileMaker Data API を通じてデータベース分析・メタデータ抽出を行う MCP(Model Context Protocol)サーバーです。

特徴

  • 読み取り専用: データの安全性を確保(作成・更新・削除は非対応)

  • メタデータ集約: レイアウト、フィールド、スクリプト情報を一括取得

  • リレーション推測: フィールド名パターンから関係性を推測(disclaimer付き)

  • グローバル検索: 複数レイアウトを横断したデータ検索

  • セキュリティ重視: パスワードのログ出力禁止、ファイルシステム書き込み禁止

Related MCP server: DB MCP Gateway

クイックスタート

1. ビルド

pnpm install
pnpm run build

2. MCP 設定

本MCPサーバーは、Claude Code、Cursor、Codex など MCP 対応のAIエディタで使用できます。

Claude Code

方法 A: コマンドラインで追加(推奨)

claude mcp add filemaker \
  --transport stdio \
  --scope project \
  --env FM_SERVER=https://your-server.com \
  --env FM_DATABASE=your-database \
  --env FM_USERNAME=your-username \
  --env FM_PASSWORD=your-password \
  -- node /path/to/jaou-ensatsu-kokuryu-filemaker-mcp/dist/index.js

スコープオプション

説明

--scope user

全プロジェクト共通(~/.claude.json に保存)

--scope project

現在のプロジェクトのみ(.mcp.json に保存、Git管理可能)

方法 B: 設定ファイルを直接編集

~/.claude.json に以下を追加:

{
  "mcpServers": {
    "filemaker": {
      "command": "node",
      "args": ["/path/to/jaou-ensatsu-kokuryu-filemaker-mcp/dist/index.js"],
      "env": {
        "FM_SERVER": "https://your-server.com",
        "FM_DATABASE": "your-database",
        "FM_USERNAME": "your-username",
        "FM_PASSWORD": "your-password"
      }
    }
  }
}

Note: Claude Desktop を使用する場合は ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)に同様の設定を追加してください。

Cursor

~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト)に以下を追加:

{
  "mcpServers": {
    "filemaker": {
      "command": "node",
      "args": ["/path/to/jaou-ensatsu-kokuryu-filemaker-mcp/dist/index.js"],
      "env": {
        "FM_SERVER": "https://your-server.com",
        "FM_DATABASE": "your-database",
        "FM_USERNAME": "your-username",
        "FM_PASSWORD": "your-password"
      }
    }
  }
}

設定後、Cursor の設定画面(File → Preferences → Cursor Settings → MCP)で「Available Tools」に表示されることを確認してください。

Codex (OpenAI)

方法 A: コマンドラインで追加

codex mcp add filemaker \
  --env FM_SERVER=https://your-server.com \
  --env FM_DATABASE=your-database \
  --env FM_USERNAME=your-username \
  --env FM_PASSWORD=your-password \
  -- node /path/to/jaou-ensatsu-kokuryu-filemaker-mcp/dist/index.js

方法 B: 設定ファイルを直接編集

~/.codex/config.toml に以下を追加:

[mcp_servers.filemaker]
command = "node"
args = ["/path/to/jaou-ensatsu-kokuryu-filemaker-mcp/dist/index.js"]

[mcp_servers.filemaker.env]
FM_SERVER = "https://your-server.com"
FM_DATABASE = "your-database"
FM_USERNAME = "your-username"
FM_PASSWORD = "your-password"

Note: Codex は CLI と VSCode 拡張機能で設定ファイルを共有しています。

3. 使用例

MCP設定後、AIエディタを起動すると FileMaker MCP ツールが利用可能になります。

# 使用例(AI への指示)
「FileMaker にログインして、顧客レイアウトのフィールド一覧を取得してください」
「売上データベースのメタデータをエクスポートしてください」
「注文テーブルで"東京"を含むレコードを検索してください」

提供ツール(16ツール)

認証系

ツール

説明

fm_login

FileMaker サーバーへのログイン

fm_logout

セッション終了

fm_validate_session

セッション有効性確認

メタデータ取得系

ツール

説明

fm_get_layouts

レイアウト一覧取得

fm_get_layout_metadata

フィールド定義取得

fm_get_scripts

スクリプト一覧取得

fm_list_value_lists

値一覧取得

レコード操作系(読み取りのみ)

ツール

説明

fm_get_records

レコード取得(ページング対応)

fm_get_record_by_id

ID指定でレコード取得

fm_find_records

検索クエリでレコード取得

fm_get_record_count

レコード件数取得

分析系

ツール

説明

fm_export_database_metadata

メタデータ一括エクスポート

fm_infer_relationships

リレーション推測

fm_analyze_portal_data

ポータル構造分析

fm_global_search_data

複数レイアウト横断検索

fm_global_search_fields

フィールド名検索


主要ツールの使用例

fm_login - ログイン

環境変数が設定されている場合、引数なしでログイン可能:

// 入力(環境変数使用)
{}

// 入力(引数指定)
{
  "server": "https://your-server.com",
  "database": "YourDB",
  "username": "admin",
  "password": "password123"
}

// 出力
{
  "success": true,
  "message": "Login successful"
}

fm_get_layout_metadata - レイアウトメタデータ取得

// 入力
{
  "layout": "顧客マスタ"
}

// 出力
{
  "success": true,
  "layout": "顧客マスタ",
  "fields": [
    {
      "name": "顧客ID",
      "type": "normal",
      "result": "number",
      "autoEnter": true
    },
    {
      "name": "顧客名",
      "type": "normal",
      "result": "text"
    }
  ],
  "portalNames": ["注文履歴", "連絡先"]
}

fm_find_records - レコード検索

// 入力
{
  "layout": "注文",
  "query": [
    { "顧客名": "田中*" },
    { "都道府県": "東京都" }
  ],
  "sort": [
    { "fieldName": "注文日", "sortOrder": "descend" }
  ],
  "limit": 50
}

// 出力
{
  "success": true,
  "records": [...],
  "dataInfo": {
    "foundCount": 25,
    "returnedCount": 25,
    "totalRecordCount": 1500
  }
}

fm_export_database_metadata - メタデータエクスポート

// 入力
{
  "includeFields": true,
  "includeScripts": true
}

// 出力
{
  "success": true,
  "database": "SalesDB",
  "exportedAt": "2026-01-03T12:00:00Z",
  "layouts": [...],
  "scripts": [...]
}

環境変数

変数名

必須

デフォルト

説明

FM_SERVER

Yes

-

FileMaker サーバー URL(HTTPS必須)

FM_DATABASE

Yes

-

データベース名

FM_USERNAME

Yes

-

ユーザー名

FM_PASSWORD

Yes

-

パスワード

FM_API_VERSION

No

vLatest

Data API バージョン

FM_SSL_VERIFY

No

true

SSL 証明書検証(開発環境でのみfalse可)

FM_SESSION_TIMEOUT

No

840

セッションタイムアウト(秒)

LOG_LEVEL

No

warn

ログレベル(debug, info, warn, error)


開発

環境構築

pnpm install
cp .env.example .env  # テスト実行用

コマンド

pnpm run build       # ビルド
pnpm test            # テスト実行
pnpm run typecheck   # 型チェック
pnpm run lint        # リント
pnpm run lint:fix    # リント自動修正

制限事項

  • FileMaker Data API の制約により、テーブル一覧やリレーション定義の直接取得は不可

  • レイアウトに配置されたフィールドのみ操作可能

  • fm_infer_relationships の結果は推測であり、実際のリレーション定義と異なる場合あり

  • 読み取り専用(レコードの作成・更新・削除は非対応)


参考プロジェクト

本プロジェクトは以下のオープンソースプロジェクトを参考に設計・実装しました:

プロジェクト

作者

説明

FileMaker-Server-DAPI-MCP

Francesc Sans

FileMaker Data API MCP サーバー(接続管理機能)

filemaker-mcp-server

Max Petrusenko

DDRエクスポート・リレーション分析機能を持つ MCP サーバー

両プロジェクトともMITライセンスで公開されています。


ライセンス

MIT

Available Tools

16 tools
fm_analyze_portal_dataC

指定されたレイアウト内のポータル構造を詳細に分析します。各ポータルのフィールド定義、推測される関連テーブル名、サンプルデータ(オプション)を取得できます。この機能はData APIで完全にサポートされています。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYes分析対象のレイアウト名
includeSampleDataNoサンプルデータを含める(デフォルト: false)
sampleLimitNoサンプルデータの最大レコード数(デフォルト: 5、最大: 100)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes portal structures and can obtain sample data, but doesn't describe what 'analyze' entails operationally (e.g., is it read-only, does it require specific permissions, what's the response format, are there rate limits?). For a tool with no annotation coverage, this leaves significant behavioral gaps, though it does mention Data API support as a minor contextual hint.

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 appropriately sized with two sentences that efficiently convey the core functionality and technical context. It's front-loaded with the main purpose, followed by a supporting detail about Data API support. There's no wasted verbiage, though the second sentence could be more tightly integrated with the first for better flow.

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?

Given the tool's complexity (analyzing portal structures with optional sample data), no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., read/write nature, error handling), output format, and how it differs from sibling tools. The mention of Data API support is insufficient to compensate for these gaps, making it inadequate for an agent to fully understand the tool's context and usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters (layout, includeSampleData, sampleLimit) with descriptions. The description adds marginal value by mentioning 'sample data (optional)' which aligns with includeSampleData, but doesn't provide additional semantics beyond what's in the schema. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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's purpose: analyzing portal structures within a specified layout, obtaining field definitions, inferred related table names, and optional sample data. It uses specific verbs like 'analyze' and 'obtain' with clear resources (portal structures, field definitions, table names, sample data). However, it doesn't explicitly differentiate from sibling tools like fm_get_layout_metadata or fm_infer_relationships, which appear related to metadata analysis.

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 use this tool versus alternatives. It mentions that the feature is 'fully supported by the Data API,' but this is generic technical context rather than usage guidance. There's no indication of prerequisites, typical use cases, or comparisons with sibling tools like fm_get_layout_metadata or fm_infer_relationships, leaving the agent to infer usage context.

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

fm_export_database_metadataA

データベースの構造情報(レイアウト、フィールド、スクリプト、値一覧)を集約してエクスポートします。注意: FileMaker Data APIの制約により、真のDDR(Database Design Report)ではありません。リレーションシップ定義、計算式、スクリプト内容は取得できません。

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYes出力フォーマット(json推奨)
optionsNoエクスポートオプション

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It effectively communicates important limitations: the export is not a true DDR, and specific elements like relationship definitions, calculation formulas, and script contents cannot be retrieved. This provides crucial context about what the tool can and cannot do beyond basic functionality.

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 efficiently structured with two sentences: the first states the core functionality, and the second provides crucial limitations. Every sentence earns its place by adding essential information. The warning about API constraints is appropriately placed and necessary for proper tool understanding.

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 tool with no annotations and no output schema, the description does well in covering the essential behavioral context (limitations, scope). It explains what the tool does and what it cannot do. However, it doesn't mention authentication requirements, rate limits, or what the export output looks like, which would be helpful given the absence of output schema.

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

Parameters3/5

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

With 100% schema description coverage, the baseline is 3. The description doesn't add specific parameter semantics beyond what's already documented in the schema. While it mentions the types of information being exported (layouts, fields, scripts, value lists), this doesn't provide additional guidance about parameter usage beyond the schema's descriptions of includeLayouts, includeScripts, etc.

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 specific action ('export'), resource ('database structural information'), and scope ('layouts, fields, scripts, value lists'). It distinguishes this tool from siblings like fm_get_layout_metadata, fm_get_scripts, and fm_list_value_lists by emphasizing aggregation and export functionality rather than individual retrieval.

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?

The description provides clear context about when to use this tool by stating it aggregates multiple structural elements into a single export, which implies it's for comprehensive metadata extraction rather than piecemeal retrieval. However, it doesn't explicitly mention when NOT to use it or name specific alternatives among the sibling tools.

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

fm_find_recordsC

検索条件に一致するレコードを検索します。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYesレイアウト名
queryYes検索クエリ配列(例: [{"FirstName": "John"}, {"LastName": "Doe"}])
sortNoソート順序
limitNo取得レコード数
offsetNo開始レコード位置

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states the tool searches records but doesn't mention whether this is a read-only operation, what permissions are required, whether results are paginated, what happens with no matches, or any rate limits. For a search tool with 5 parameters and no annotation coverage, this is inadequate behavioral context.

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 a single, efficient Japanese sentence that states the core purpose without unnecessary words. It's appropriately sized for a search tool and front-loads the essential information. Every word earns its place in this minimal description.

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?

For a search tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what constitutes a 'record' in this context, how results are returned, error conditions, or relationship to sibling tools. The agent lacks crucial context about this tool's behavior and integration within the FileMaker ecosystem.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain the query array structure, layout significance, or how sort/limit/offset interact. With complete schema coverage, baseline 3 is appropriate.

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

Purpose3/5

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

The description states the tool's purpose as '検索条件に一致するレコードを検索します' (searches for records matching search criteria), which is clear but generic. It specifies the verb (search) and resource (records), but doesn't differentiate from sibling tools like fm_get_records or fm_global_search_data, leaving ambiguity about when to use this specific search tool.

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 use this tool versus alternatives. With multiple sibling tools that also retrieve records (fm_get_records, fm_get_record_by_id, fm_global_search_data), there's no indication of this tool's specific use case, prerequisites, or exclusions. The agent must infer usage from the parameter schema alone.

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

fm_get_layout_metadataC

指定されたレイアウトのフィールド定義、ポータル情報、値一覧を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYesレイアウト名

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a retrieval operation but doesn't mention whether it requires authentication, has rate limits, returns structured data, or handles errors. For a metadata retrieval tool with zero annotation coverage, this leaves significant behavioral gaps that could impact agent decision-making.

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 a single, efficient sentence that clearly states the tool's purpose. It's appropriately sized for a simple retrieval tool with one parameter. There's no wasted verbiage or unnecessary elaboration, though it could potentially benefit from slightly more context given the lack of annotations.

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?

For a single-parameter retrieval tool with no output schema and no annotations, the description provides adequate but minimal information. It covers what the tool does but leaves gaps around authentication requirements, return format, error handling, and differentiation from sibling tools. The description meets minimum viability but doesn't fully compensate for the lack of structured metadata.

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

Parameters3/5

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

The schema has 100% description coverage with a clear parameter description ('レイアウト名' - layout name). The description doesn't add any parameter-specific information beyond what's in the schema, but with complete schema documentation, a baseline score of 3 is appropriate. The description does reinforce that the layout parameter is for specifying which layout's metadata to retrieve.

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 action ('取得します' - retrieves) and the resources (field definitions, portal information, value lists) for a specified layout. It distinguishes this from general layout listing tools like 'fm_get_layouts' by specifying metadata retrieval rather than just listing layouts. However, it doesn't explicitly differentiate from other metadata tools like 'fm_export_database_metadata'.

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 use this tool versus alternatives. It doesn't mention prerequisites (like needing a valid session), when this is appropriate versus using 'fm_get_layouts' for basic layout information, or how it differs from 'fm_export_database_metadata' which might provide broader metadata. The agent must infer usage context from the tool name alone.

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

fm_get_layoutsB

データベース内のすべてのレイアウト一覧を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves a list, implying a read-only operation, but doesn't specify whether it's paginated, sorted, or filtered, nor does it mention authentication requirements, rate limits, or error handling. The description is minimal and lacks behavioral details beyond the basic action.

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 a single, clear sentence in Japanese that directly states the tool's purpose without any fluff or redundant information. It is front-loaded and efficiently conveys the essential action, making it highly concise and well-structured.

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?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but minimal. It covers the basic purpose but lacks context on usage guidelines, behavioral traits, and integration with sibling tools. For a read operation in a database context, more details on authentication or output format would enhance completeness.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied as it compensates adequately for the lack of parameters by not introducing unnecessary information.

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's purpose: 'データベース内のすべてのレイアウト一覧を取得します' (Retrieves a list of all layouts in the database). It specifies the verb (retrieves/get) and resource (layouts), but doesn't explicitly differentiate from sibling tools like fm_get_layout_metadata, which might retrieve metadata about specific layouts rather than listing them all.

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 use this tool versus alternatives. It doesn't mention sibling tools like fm_get_layout_metadata or fm_get_records, nor does it specify prerequisites such as authentication or session validation, which are implied by the presence of fm_login, fm_logout, and fm_validate_session tools.

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

fm_get_record_by_idC

指定されたレコードIDのレコードを取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYesレイアウト名
recordIdYesFileMakerレコードID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves a record, implying a read-only operation, but doesn't clarify permissions, error handling, rate limits, or what happens if the record ID doesn't exist. For a tool with no annotations, this leaves significant behavioral gaps.

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 a single, efficient sentence in Japanese that directly states the tool's function. It's front-loaded with the core action and has no unnecessary words, making it highly concise and well-structured.

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?

Given the complexity (a read operation with two required parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., record data, error messages), behavioral aspects like authentication needs, or how it differs from similar tools. This leaves the agent with insufficient context for reliable use.

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

Parameters3/5

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

The input schema has 100% description coverage, with clear documentation for both parameters ('layout' as layout name, 'recordId' as FileMaker record ID). The description doesn't add any semantic details beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate.

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's purpose: '指定されたレコードIDのレコードを取得します' translates to 'Retrieves the record for the specified record ID.' This is a specific verb+resource combination (retrieve + record). However, it doesn't explicitly differentiate from sibling tools like 'fm_get_records' (plural) or 'fm_find_records', which might have different scopes or filtering capabilities.

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 use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a layout name), exclusions, or comparisons to sibling tools like 'fm_get_records' or 'fm_find_records'. The agent must infer usage from the tool name and parameters alone.

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

fm_get_record_countA

指定されたレイアウトの総レコード数を取得します。レコードデータは取得せず、カウントのみを効率的に返します。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYesレイアウト名

TDQS

A3.9/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 full burden. It discloses that the tool is read-only (取得/retrieve) and efficient (効率的に), but doesn't mention authentication needs, rate limits, error conditions, or what happens if the layout doesn't exist. For a tool with no annotations, this is a moderate disclosure level.

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 two concise sentences that are front-loaded with the core purpose. Every sentence adds value: the first states what it does, the second clarifies what it doesn't do and its efficiency. There is zero waste or redundancy.

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?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but not complete. It explains the purpose and efficiency but lacks details on authentication, error handling, or return format. For a simple read operation, this is minimally sufficient but could be more comprehensive.

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

Parameters3/5

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

The schema description coverage is 100%, with the single parameter 'layout' documented as 'レイアウト名' (layout name). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema 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's purpose: '指定されたレイアウトの総レコード数を取得します' (get the total record count for a specified layout). It specifies the verb (取得/retrieve), resource (レコード数/record count), and distinguishes from siblings like fm_get_records or fm_get_record_by_id by emphasizing it only returns count, not record data.

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?

The description provides clear context on when to use this tool: 'レコードデータは取得せず、カウントのみを効率的に返します' (does not retrieve record data, only returns count efficiently). This implicitly suggests using fm_get_records or fm_get_record_by_id when actual record data is needed, but it doesn't explicitly name alternatives or state when not to use it.

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

fm_get_recordsC

指定されたレイアウトからレコードを取得します(ページング対応)。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYesレイアウト名
limitNo取得レコード数(デフォルト: 20)
offsetNo開始レコード位置(デフォルト: 1)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions pagination support, which is useful, but does not describe other critical behaviors: authentication requirements, rate limits, error handling, or what the return format looks like (e.g., structure of records). For a tool that likely interacts with a database or system, this leaves significant gaps in understanding how it operates.

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 a single, efficient sentence that states the core action and includes pagination support. It is appropriately sized and front-loaded with the main purpose. However, it could be slightly more structured by separating key points, but it avoids unnecessary verbosity.

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?

Given the complexity (a data retrieval tool with pagination), lack of annotations, and no output schema, the description is incomplete. It does not cover authentication needs, return format, error conditions, or how it differs from sibling tools. The description alone is insufficient for an agent to fully understand how to use this tool effectively in context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters (layout, limit, offset) with descriptions and defaults. The description adds no additional meaning beyond what the schema provides—it does not explain the significance of 'layout' in context, how pagination works with limit/offset, or any constraints. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose3/5

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

The description states the purpose ('retrieve records from a specified layout') which is clear but lacks specificity about what kind of records or system this refers to. It distinguishes from some siblings like 'fm_get_record_by_id' (retrieval by ID vs layout) but not clearly from 'fm_find_records' or 'fm_global_search_data' which might have overlapping functionality. The purpose is understandable but could be more precise about the domain/context.

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 use this tool versus alternatives. It mentions pagination support, but does not specify scenarios where this tool is preferred over siblings like 'fm_find_records' or 'fm_global_search_data', nor does it mention prerequisites (e.g., requires authentication). Usage context is implied but not explicitly stated.

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

fm_get_scriptsB

データベース内のすべてのスクリプト一覧を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states it retrieves a list but doesn't disclose behavioral traits like whether it's paginated, sorted, filtered, or if it requires specific permissions. The description is minimal and lacks context about what 'all scripts' entails or any limitations.

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 a single, efficient sentence in Japanese that directly states the tool's purpose. It's front-loaded with the key information (retrieving all scripts) and has no wasted words, making it appropriately sized for a simple tool.

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?

Given the tool has no parameters, no annotations, and no output schema, the description is adequate for a basic list operation but lacks completeness. It doesn't explain what the output looks like (e.g., format, structure) or any behavioral details, which could be important for an AI agent to use it correctly.

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 tool has 0 parameters, and schema description coverage is 100% (since there are no parameters). The description doesn't need to add parameter semantics, so it meets the baseline of 4 for having no parameters to document.

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 action ('取得します' - get/retrieve) and resource ('データベース内のすべてのスクリプト一覧' - list of all scripts in the database). It's specific about what it retrieves (all scripts), but doesn't explicitly differentiate from siblings like fm_get_layouts or fm_get_layout_metadata, which handle different resource types.

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 use this tool versus alternatives. It doesn't mention prerequisites (like needing authentication), nor does it compare with siblings like fm_global_search_data or fm_find_records that might retrieve different data. Usage context is implied but not explicit.

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

fm_global_search_dataA

複数のレイアウトを横断してデータを検索します。各レイアウトのテキストフィールドに対してOR検索を実行し、結果を集約します。注意: 大量のレイアウトを指定するとパフォーマンスに影響します。

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTextYes検索するテキスト
layoutsYes検索対象のレイアウト名配列
optionsNo検索オプション

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the OR search behavior and performance implications (important for a search tool), but doesn't mention authentication needs, rate limits, pagination, or what the aggregated results look like. It adds some behavioral context but leaves significant gaps.

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?

Three sentences that are front-loaded with the core functionality, followed by implementation details and a performance warning. Every sentence earns its place by adding distinct value: purpose, search behavior, and important constraint.

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?

For a search tool with 3 parameters (including a nested options object), no annotations, and no output schema, the description is adequate but incomplete. It covers the cross-layout scope and performance warning well, but doesn't address authentication, error conditions, or result format. Given the complexity and lack of structured output documentation, it should do more.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions 'text fields' which aligns with the searchText parameter but doesn't provide additional syntax or format details.

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 specific action ('search data across multiple layouts'), resource ('text fields in layouts'), and scope ('OR search across layouts, aggregating results'). It distinguishes from siblings like fm_find_records (likely single-layout) and fm_global_search_fields (searching fields rather than data).

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?

The description provides clear context for when to use this tool ('search across multiple layouts') and includes a performance warning about specifying too many layouts. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the siblings, though the context implies it's for cross-layout searches.

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

fm_global_search_fieldsB

全レイアウトを横断してフィールドを検索します。フィールド名のパターンやフィールドタイプでフィルタリングできます。データベース構造の調査やフィールド命名規則の確認に便利です。

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldNameNoフィールド名のパターン(部分一致検索)。省略時は全フィールドを対象
fieldTypeNoフィールドタイプでフィルタ。省略時は全タイプを対象
optionsNo検索オプション

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool is '便利です' (useful) but doesn't describe what the tool actually returns (field metadata, counts, etc.), whether it's read-only or has side effects, performance characteristics, or error conditions. For a search tool with 3 parameters and no annotation coverage, this is a significant gap.

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 appropriately concise with two sentences. The first sentence states the core functionality, the second provides usage context. There's no wasted text, though it could be slightly more front-loaded with the most critical information.

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?

For a search tool with 3 parameters, 100% schema coverage, but no annotations and no output schema, the description provides adequate purpose and usage context but lacks behavioral transparency about what the tool returns and how it behaves. The description mentions it's 'useful for investigating database structure' which helps, but doesn't complete the picture for an agent trying to understand the tool's behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents all 3 parameters. The description adds minimal value beyond the schema - it mentions field name patterns and field type filtering, which the schema already covers. The baseline of 3 is appropriate when the schema does the heavy lifting.

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's purpose: '全レイヤウトを横断してフィールドを検索します' (search fields across all layouts). It specifies the resource (fields) and action (search) with filtering capabilities. However, it doesn't explicitly differentiate from sibling tools like 'fm_global_search_data' which searches data rather than fields.

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 provides implied usage context: 'データベース構造の調査やフィールド命名規則の確認に便利です' (useful for investigating database structure and checking field naming conventions). This gives general guidance but doesn't explicitly state when to use this vs alternatives like 'fm_get_layout_metadata' or 'fm_global_search_data', nor does it provide exclusion criteria.

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

fm_infer_relationshipsA

指定されたレイアウトのポータルとフィールド名パターンからリレーションシップを推測します。重要: すべての結果は「推測」であり、実際のFileMakerリレーションシップ定義とは異なる可能性があります。信頼度(confidence)を必ず確認してください。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYes分析対象のレイアウト名
depthNo分析の深度(将来拡張用、現在は1固定)

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It effectively discloses key behavioral traits: the tool produces inferred results (not definitive), results may differ from actual FileMaker definitions, and confidence scores should be checked. This covers the speculative nature and reliability aspects. However, it doesn't mention performance characteristics, rate limits, or authentication needs.

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 appropriately sized with two sentences: the first states the purpose, the second provides critical behavioral warnings. Every sentence earns its place by adding essential information. It's front-loaded with the core function and avoids unnecessary elaboration.

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's moderate complexity (inference-based analysis), no annotations, and no output schema, the description does a good job covering the core functionality and reliability caveats. However, it doesn't explain what the output looks like (e.g., format of inferred relationships, confidence scale) or potential error conditions, leaving some gaps for a tool without structured output documentation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters (layout and depth). The description adds marginal value by mentioning 'portals and field name patterns' which relates to the layout parameter, but doesn't provide additional syntax or format details beyond what the schema provides. The baseline of 3 is appropriate when the schema does the heavy lifting.

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's purpose: 'infer relationships from specified layout's portals and field name patterns' (verb+resource). It distinguishes from siblings like fm_get_layout_metadata or fm_analyze_portal_data by focusing on relationship inference rather than metadata retrieval or data analysis. However, it doesn't explicitly contrast with all siblings (e.g., fm_export_database_metadata might also involve relationships).

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 context through the warning about results being 'inferences' that may differ from actual FileMaker relationship definitions and the instruction to check confidence. However, it doesn't explicitly state when to use this tool versus alternatives like fm_get_layout_metadata (which might provide actual relationship data) or fm_analyze_portal_data. No explicit exclusions or prerequisites are mentioned.

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

fm_list_value_listsC

指定されたレイアウトで利用可能な値一覧(Value Lists)を取得します。フィールドに設定されたドロップダウン選択肢などを確認できます。

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYesレイアウト名

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes a read operation ('取得します' - retrieves), which implies it's non-destructive, but doesn't address other behavioral aspects such as authentication requirements, rate limits, error handling, or response format. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves beyond the basic read intent.

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 concise and well-structured in two sentences: the first states the core action and resource, and the second adds practical context (checking dropdown options). There is no wasted text, and it's front-loaded with the main purpose. However, it could be slightly more efficient by combining ideas, but it remains clear and to the point.

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?

Given the tool has no annotations, no output schema, and 1 parameter with full schema coverage, the description is incomplete. It adequately explains what the tool does but lacks critical behavioral details (e.g., authentication needs, response structure) and usage guidelines. For a tool in a context with sibling tools and potential complexity (e.g., related to layouts and value lists), more comprehensive information is needed to ensure the agent can use it effectively.

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

Parameters3/5

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

The input schema has 100% description coverage, with the single parameter 'layout' documented as 'レイアウト名' (layout name). The description adds minimal context by mentioning '指定されたレイアウトで' (in the specified layout), reinforcing the parameter's role but not providing additional semantics like format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't significantly enhance parameter understanding beyond 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 clearly states the tool's purpose: '取得します' (retrieves/gets) '値一覧(Value Lists)' (value lists) '指定されたレイアウトで利用可能な' (available in the specified layout). It specifies the verb (retrieve) and resource (value lists) with context (layout-specific). However, it doesn't explicitly distinguish this from sibling tools like fm_get_layout_metadata or fm_get_layouts, which might also retrieve layout-related information.

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 minimal guidance: it implies usage when you need to check dropdown options in fields for a layout. However, it doesn't specify when to use this tool versus alternatives (e.g., fm_get_layout_metadata might provide similar or overlapping data), nor does it mention prerequisites (e.g., authentication, session validity) or exclusions. No explicit when/when-not or alternative tool references are provided.

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

fm_loginA

FileMakerサーバーにログインしてセッションを確立します。環境変数から認証情報を読み込む場合はパラメータを省略できます。

ParametersJSON Schema
NameRequiredDescriptionDefault
serverNoFileMakerサーバーURL(省略時は環境変数FM_SERVER)
databaseNoデータベース名(省略時は環境変数FM_DATABASE)
usernameNoユーザー名(省略時は環境変数FM_USERNAME)
passwordNoパスワード(省略時は環境変数FM_PASSWORD)

TDQS

A3.9/5.0
Behavior3/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 explains the authentication mechanism and optional parameter usage, but doesn't describe what happens on successful login (e.g., session token returned), error conditions, rate limits, or security implications. The description adds some value but leaves significant behavioral aspects unspecified.

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 perfectly concise with just two sentences. The first sentence states the core purpose, and the second sentence provides important usage information about environment variables. Every word earns its place with zero wasted content.

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?

For an authentication tool with no annotations and no output schema, the description provides adequate basic information about what the tool does and parameter handling. However, it doesn't explain what the tool returns (session token, success indicator, etc.), error handling, or security considerations, which are important for a login operation. The description is minimally complete but has clear gaps.

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

Parameters3/5

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

The schema description coverage is 100%, so the schema already documents all four parameters with their types and descriptions. The description mentions that parameters can be omitted when using environment variables, which adds marginal context about parameter usage but doesn't provide additional semantic meaning beyond what's in the schema. This meets the baseline expectation.

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 specific action ('ログインしてセッションを確立します' - login and establish a session) and the target resource ('FileMakerサーバー' - FileMaker server). It distinguishes itself from sibling tools like fm_logout or fm_validate_session by focusing on initial authentication rather than session termination or validation.

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?

The description provides clear context about when to use this tool (to establish a session with FileMaker server) and mentions that parameters can be omitted if authentication credentials are loaded from environment variables. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools.

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

fm_logoutB

現在のセッションを終了します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. '終了します' (ends) implies a destructive/mutative operation, but the description doesn't clarify what happens after logout (session invalidation, cleanup), whether authentication is required to call it, or what the expected outcome is. For a session management tool with zero annotation coverage, this leaves significant behavioral gaps.

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 a single, efficient Japanese sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple logout operation and front-loads the essential information.

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?

Given the tool's simplicity (0 parameters, no output schema) and the lack of annotations, the description provides the basic purpose but lacks important context. For a session management tool, it should ideally mention what happens post-logout, whether this affects other operations, or what confirmation/response to expect. The description is minimally adequate but has clear gaps.

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 tool has 0 parameters with 100% schema description coverage. The description appropriately doesn't discuss parameters since none exist. It focuses on the tool's action rather than parameter details, which is correct for a parameterless tool.

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 '現在のセッションを終了します。' (Ends the current session) clearly states the tool's purpose with a specific verb ('終了します' - ends/terminates) and resource ('セッション' - session). It distinguishes itself from sibling tools like fm_login and fm_validate_session which handle session initiation and validation rather than termination. However, it doesn't explicitly mention what type of session (FileMaker session) or system context.

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 context - to end a current session - but doesn't provide explicit guidance on when to use this tool versus alternatives. No prerequisites (like requiring an active session first) or exclusions are mentioned. The agent must infer usage from the purpose statement alone.

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

fm_validate_sessionC

セッションが有効かどうかを確認します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('check if the session is valid') but doesn't add context such as what constitutes validity, authentication requirements, rate limits, or response behavior. This is a significant gap for a tool with zero annotation coverage, though not contradictory.

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 a single, efficient sentence in Japanese that directly states the tool's purpose. It is front-loaded with the core action and has no wasted words, making it highly concise and well-structured for quick understanding.

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?

Given the tool's complexity (simple validation with no parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'valid' means, potential outcomes (e.g., boolean result, error codes), or integration with sibling tools. For a validation tool, more context is needed to guide an AI agent effectively.

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 tool has 0 parameters, and schema description coverage is 100% (empty schema). With no parameters, the description doesn't need to add semantic details beyond the schema. It appropriately focuses on the tool's purpose without redundant parameter information, meeting the baseline for zero-parameter tools.

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

Purpose3/5

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

The description states the purpose ('セッションが有効かどうかを確認します' translates to 'Check if the session is valid') which is clear but vague. It specifies the verb ('check/confirm') and resource ('session validity'), but doesn't distinguish from siblings like fm_login or fm_logout beyond the basic action. No tautology or misleading elements are present.

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?

No explicit guidance on when to use this tool versus alternatives is provided. The description implies usage for session validation, but it doesn't specify contexts (e.g., before other operations), exclusions, or comparisons to sibling tools like fm_login (for authentication) or fm_logout (for termination). This leaves gaps for an AI agent to infer correct usage.

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. Dates show when Glama detected each change.

  1. 16 tool updates
    • First observedfm_analyze_portal_data
    • First observedfm_export_database_metadata
    • First observedfm_find_records
    • First observedfm_get_layout_metadata
    • First observedfm_get_layouts
    • First observedfm_get_record_by_id
    • First observedfm_get_record_count
    • First observedfm_get_records
    • First observedfm_get_scripts
    • First observedfm_global_search_data
    • First observedfm_global_search_fields
    • First observedfm_infer_relationships
    • First observedfm_list_value_lists
    • First observedfm_login
    • First observedfm_logout
    • First observedfm_validate_session

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between fm_get_layout_metadata and fm_analyze_portal_data (both analyze layout structure), and between fm_find_records and fm_global_search_data (both search records). Descriptions help differentiate them, but an agent might occasionally misselect.

Naming Consistency5/5

All tools follow a consistent fm_verb_noun naming pattern, using snake_case throughout. The verbs are clear and descriptive (e.g., get, list, analyze, export), making the set predictable and easy to understand.

Tool Count4/5

16 tools is slightly high but reasonable for a FileMaker database management server, covering metadata, data operations, search, and session management. It feels comprehensive without being overwhelming, though some tools could potentially be consolidated.

Completeness5/5

The toolset provides complete coverage for FileMaker Data API interactions, including session management (login/logout/validate), metadata retrieval (layouts, fields, scripts, value lists), data operations (CRUD with find/get/count), and advanced analysis (portal data, relationships, global search). No obvious gaps exist for the stated domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables read-only analytics queries on Acumatica ERP data, including sales orders, inventory, shipments, invoices, purchase orders, customers, and OData generic inquiries.
    16
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to databases for MCP-compatible AI tools, allowing schema exploration and SELECT queries without exposing credentials or risking data changes.
    83
    3
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only access to company data across PostgreSQL, MongoDB Atlas, and flat files through MCP tools, allowing AI assistants to query and retrieve information via natural language.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides a secure, policy-driven read-only gateway that exposes multiple databases to AI tools via MCP, with governed select, search, and aggregate operations and no free-form SQL.
    Apache 2.0

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/ta-toshio/filemaker-mcp'

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