Skip to main content
Glama
modesty

Fluent MCP Server

by modesty

init_fluent_app

Initialize a new Fluent SDK app or convert an existing ServiceNow scoped application. Specify intent for creation or conversion, with support for templates, auth, and empty working directory.

Instructions

Initialize a new Fluent (ServiceNow SDK) application or convert an existing scoped application. Set intent to "creation" for a new app (requires appName, packageName, scopeName, template) or "conversion" to convert from an instance sys_id or local directory (requires from, and auth for instance conversion). The workingDirectory must be an empty directory. After init, use build_fluent_app to compile.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
authNoFor conversion only: credential alias for authentication with instance (auto-injected from session if not provided)
fromNoFor conversion: sys_id of the sys_app record or local file path to convert from
debugNoPrint debug output
intentNoSpecify your intent: "conversion" to convert an existing scoped app to Fluent, or "creation" to create a new scoped app. If omitted it is inferred — "conversion" when from is set, "creation" when appName, packageName or scopeName is set. Supply it explicitly when none of those are present.
appNameNoFor creation: The name of the application.
templateNoFor creation only (required): Template to use for the project. Choices: "base", "javascript.basic", "javascript.react", "typescript.basic", "typescript.react", "typescript.vue". Not needed for conversion.
scopeNameNoFor creation: The scope name for the application in x_<scope_name> format. Must start with 'x_' prefix. No spaces allowed, no greater than 18 characters.
packageNameNoFor creation: The NPM package name for the application, usually it's the snake-case of appName in lowercase with company prefix.
workingDirectoryYesThe directory where the Fluent (ServiceNow SDK) application will be created. Must be an empty local directory with no package.json or now.config.json files.
Behavior4/5

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

Annotations already provide openWorldHint=true and idempotentHint=false, setting the safety profile. The description adds behavioral context beyond annotations: the requirement that workingDirectory must be empty and that conversion from an instance requires auth. It doesn't fully enumerate side effects (e.g., files created or global changes), but given the annotation coverage, this is sufficient and consistent.

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 three sentences: the first states the core purpose, the second explains mode-specific parameters, and the third adds a prerequisite and next-step pointer. There is zero fluff—every sentence contributes essential information, and it is front-loaded with the main action.

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 complexity (9 parameters, no output schema), the description covers the essential decision points (creation vs conversion), prerequisite (empty directory), and follow-up action (build_fluent_app). It doesn't describe the return value or detailed post-conditions, but the context provided is sufficient for an agent to select and invoke the tool correctly in most scenarios.

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 coverage is 100%, so parameters are already documented individually. The description adds cross-parameter semantics by grouping parameters per intent and clarifying which are required in each mode (e.g., 'template' required for creation, 'from'+'auth' for instance conversion). This synthesis of parameter relationships goes beyond the schema descriptions.

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 dual purpose: 'Initialize a new Fluent (ServiceNow SDK) application or convert an existing scoped application.' It uses specific verbs and distinguishes itself from sibling tools by mentioning 'After init, use build_fluent_app to compile,' which differentiates init from the build step.

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 explicit mode-selection guidance: 'Set intent to "creation" for a new app (requires appName, packageName, scopeName, template) or "conversion" to convert from an instance sys_id or local directory (requires from, and auth for instance conversion).' It also states the workingDirectory must be empty, offering clear context for when the tool can run. It doesn't explicitly exclude alternatives, but the workflow hint with build_fluent_app adds practical usage context.

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

Install Server

Other Tools

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/modesty/fluent-mcp'

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