Skip to main content
Glama
ilham98

simala-mcp

by ilham98

simala-mcp

A read-only MCP server for trending SIMALA (Analisa Lab) parameters from pkt-ismart-web's production data — SQL Server lab-record index + MongoDB readings. Sibling of ismart-mcp; plugs into my-agent, Claude Code, or Claude Desktop.

What SIMALA is

SIMALA is the lab-analysis system. A parameter is one measurement: a test (spec_uji, e.g. "pH", "NH₃") performed on a sample point (item, e.g. tag P-211 / "Cooling Water"), inside a plant section (bagian) under a lab type (jenis_lab, e.g. "Lab Mutu"). Each parameter is addressed by a composite key:

id_bagian | id_jenis_lab | id_item | id_spec_uji

Related MCP server: TrakSYS MCP Server

Setup

python3.13 -m venv .venv && .venv/bin/pip install -r requirements.txt

(Python ≥3.10 and pymongo==4.10.1 are required — the target MongoDB is 4.0.)

Connect it

Add to mcp.json (my-agent's plug panel: paste this whole block). Credentials default to the values in pkt-ismart-web's SIMALA config; override via env.

{"mcpServers": {
  "simala": {
    "command": "/Users/ilham/Documents/Applications/simala-mcp/.venv/bin/python",
    "args": ["/Users/ilham/Documents/Applications/simala-mcp/server.py"]
  }
}}

Environment (production / beta)

Defaults to production. Set SIMALA_ENV=beta (in the mcp.json env block) to read the beta databases — SQL 12.7.2.145/simala_beta (elogsheet_u) + Mongo 12.7.2.191/simala_beta. Granular SIMALA_SQL_* / SIMALA_MONGO_* env vars still override either environment.

"simala": { "command": "…", "args": ["…"], "env": { "SIMALA_ENV": "beta" } }

Tools

Tool

What it does

list_labs()

Lab types (jenis lab) + plants and their sections, to navigate.

search_parameters(query, plant?, jenis_lab?, limit?)

Find parameters by sample-point tag/description or test name; returns the key for trending.

trend_parameter(key, date_from, date_to, include_unposted?)

[datetime, value] daily series + min/avg/max over a range (≤62 days).

parameter_snapshot(keys[], lookback_days?, include_unposted?)

Latest reading per parameter.

Typical flow: search_parameters("pH", plant="Pabrik 4") → take a keytrend_parameter(key, "2026-06-06", "2026-07-06").

Posted vs draft. By default only posted lab records (IS_POSTING = 1, the official data) are read. Pass include_unposted=true to also see records not yet posted.

Safety

Every SQL path is a parameterized SELECT behind a guard that rejects anything else; there are no write paths. Both target databases are shared production — this server only reads. See FINDINGS.md for the data model and why trending resolves lab-record ids in SQL Server before fetching readings from Mongo by id_analisa_lab (never range-scanning Mongo).

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/ilham98/simala-mcp'

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