Server data from the Official MCP Registry
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
Remote endpoints: streamable-http: https://mcp.inistate.com/mcp
Valid MCP server (2 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: INISTATE_API_TOKEN
Environment variable: INISTATE_API_BASE
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
MCP server for the Inistate platform — module discovery, entry management, and activity submission.
| Variable | Required | Default | Description |
|---|---|---|---|
INISTATE_API_TOKEN | Yes | — | Bearer token for Inistate API authentication |
INISTATE_API_BASE | No | https://api.inistate.com | API base URL |
INISTATE_MCP_MODE | No | configure | Initial mode: runtime, configure, or frontend (see Modes) |
INISTATE_MCP_NO_SETUP | No | — | Set to 1 to force server mode from a terminal (skip the interactive wizard) |
INISTATE_DEBUG_FILE | No | — | Set to 1 to log write-path tool calls to ./debug.log, or to a path to log there. Off by default; logs identifiers only, never field values |
No clone or build needed — npx will fetch and run the published package on demand:
npx -y inistate-mcp
Or install globally:
npm install -g inistate-mcp
inistate-mcp
Run the binary in a terminal with no MCP client attached and it walks you through entering your API token and picks the right config file for your client:
npx -y inistate-mcp
# or, explicitly:
npx -y inistate-mcp setup
Supported clients: Claude Desktop, Claude Code (global or project-local .mcp.json), Cursor, Windsurf, Codex CLI, VS Code (user profile or workspace .vscode/mcp.json), Cline, Gemini CLI (global or workspace). Pick "Print config only" to get a JSON block to paste anywhere else.
The wizard only runs when stdin is a TTY (i.e., you launched it yourself). When an MCP client spawns the binary via piped stdio, it skips the wizard and runs as a normal MCP server — set INISTATE_MCP_NO_SETUP=1 if you need to force server mode from a terminal.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"inistate": {
"command": "npx",
"args": ["-y", "inistate-mcp"],
"env": {
"INISTATE_API_TOKEN": "your-token-here"
}
}
}
}
claude mcp add inistate -e INISTATE_API_TOKEN=your-token-here -- npx -y inistate-mcp
git clone https://github.com/Inistate/inistate-mcp.git
cd inistate-mcp
npm install
npm run build
Then point your MCP client at node /absolute/path/to/inistate-mcp/build/index.js.
Tools marked (configure) are only exposed in configure mode — see Modes.
| Tool | Description |
|---|---|
list_workspaces | List workspaces the user has access to |
set_workspace | Set the active workspace |
list_modules | List all discoverable modules in the workspace |
get_module_schema | Get the canvas schema (basic or extended tier) (configure) |
get_module_canvas | Get full module definition with stable IDs (round-trippable) (configure) |
list_entries | Query entries with filters, sorting, and pagination |
get_entry | Read a single entry by ID |
get_form | Get form fields and defaults for an activity |
submit_activity | Create, edit, delete, or run custom activities |
submit_activities | Bulk variant — same activity applied to up to 100 entries in one call |
get_entry_history | Get entry audit trail and comments |
request_upload_url | Default upload path — get a presigned S3 URL to PUT file bytes to |
confirm_upload | Confirm a presigned upload completed; returns the File/Image field path |
upload_file | Fallback upload via base64/multipart (use only if the presigned flow fails) |
download_file | Download a file (returns pre-signed URL) |
design_workflow | Generate a scaffolded module template from a description (configure) |
validate_design | Validate a module schema before creating or updating (configure) |
create_module | Create a new module with schema (configure) |
update_module | Update an existing module's schema (configure) |
switch_mode | Switch the active mode (runtime / configure / frontend) |
| URI | Description |
|---|---|
inistate://modules | List all modules |
inistate://modules/{name}/canvas | Basic module schema (fields + states) |
inistate://modules/{name}/canvas/extended | Extended schema with activities and flows |
inistate://guardrails | Server-enforced submit_activity rules (read once per session) |
inistate://schema/runtime | Runtime schema — entry/activity/file types and filter operators (default) |
inistate://schema/configure | Module-design schema — write format, field types, colors (configure) |
inistate://design-guide | FACTS Module Design Guide (configure) |
inistate://frontend-guide | REST API reference for hand-written UIs (frontend) |
| Prompt | Description |
|---|---|
design_factsops_workflow | Guide an agent through designing a complete workflow module (configure) |
execute_activity | Guide an agent through executing a specific activity |
diagnose_entry | Guide an agent through investigating an entry's state and history |
modify_module | Guide an agent through modifying an existing module's schema (configure) |
The server exposes a focused tool/resource surface depending on the active mode, keeping agent context lean. Use switch_mode to change it, or set the initial mode via the INISTATE_MCP_MODE env var (default: configure).
| Mode | Surface |
|---|---|
runtime | Entry and activity operations only — querying, reading, submitting, files, history. The leanest surface for using existing modules. |
configure | Everything in runtime plus the module-design tools, resources, and prompts (marked (configure) above). |
frontend | Everything in configure plus the inistate://frontend-guide resource for building hand-written UIs against the REST API. |
Tools and resources marked (configure) / (frontend) are absent from the tool list in narrower modes — switch modes to reveal them.
list_workspaces → set_workspace — select a workspace (auto-selected when exactly one matches; both return the workspace's module list, so list_modules is only needed to refresh)get_module_schema — understand a module's fields, states, and activitiesget_form — discover required fields before the first submission per (module, activity); reuse its schema for further entriessubmit_activity — create or update entries (submit_activities for bulk)list_entries — query and browse data (use the fields parameter to keep payloads small)get_entry_history — review entry historynpm run watch # Watch mode for TypeScript compilation
npm run inspector # Test with MCP Inspector
curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher && sudo mv mcp-publisher /usr/local/bin/
or
$arch = if ([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture -eq "Arm64") { "arm64" } else { "amd64" }; Invoke-WebRequest -Uri "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_windows_$arch.tar.gz" -OutFile "mcp-publisher.tar.gz"; tar xf mcp-publisher.tar.gz mcp-publisher.exe; rm mcp-publisher.tar.gz
mcp-publisher --help
mcp-publisher login github
# Example adding new feature
git checkout -b feat/add-user-tool
# After coding
npx changeset
# Choose:
#
# minor
# Added new user search tool
# Release
npm run release
# This does:
# install dependencies
# test
# bump version + update changelog + sync server.json
# validate MCP server config
# build (via npm prepare hook)
# publish to npm
# publish to MCP registry
Run the HTTP transport in production using PM2:
npm install
npm run build
npm run pm2:start
npx pm2 save
Enable startup on reboot:
sudo npx pm2 startup systemd -u ubuntu --hp /home/ubuntu
npx pm2 save
Common operations:
npm run pm2:restart
npm run pm2:logs
npm run pm2:stop
Set required environment variables (INISTATE_API_TOKEN, and optionally INISTATE_API_URL, INISTATE_WORKSPACE_ID, OAUTH_ISSUER_URL, INISTATE_APP_URL) in your shell, PM2 ecosystem env, or deployment secret manager before starting.
npm test
npm run test:watch
Tests are in src/ alongside the source files and use Vitest:
| File | Type | What it covers |
|---|---|---|
src/schema.test.ts | Unit tests (41) | designWorkflow, validateDesign, helper functions (isValidFieldType, isValidColor, isValidActor, suggestColorForState) |
src/activity-guard.test.ts | Unit tests (35) | submit_activity guard rules — human/hybrid actor, state-change confirmation, confidence-inflation, reference-shape validation |
src/tools.schema.test.ts | Unit tests (19) | Tool input-schema shapes and validation |
src/backend-capabilities.test.ts | Unit tests (6) | Capability gating — Platform-only tools return a capability message on reduced backends |
src/server.test.ts | Integration tests (15) | Spins up the MCP server as a child process and exercises it through the official MCP SDK client — mode-gated tool/resource/prompt discovery, switch_mode, resource reads, prompt retrieval, and local tool calls |
Unit tests cover:
Integration tests verify (no API token needed):
design_workflow, validate_design work end-to-end through the MCP protocolinistate://schema/runtime, inistate://design-guide) return valid contentINISTATE_API_TOKEN=your-token npm run inspector
Opens a browser UI where you can interactively call tools, inspect schemas, and see responses.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.