
viAct MCP server
Which MCP servers are viAct's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-09
- Addresshttps://mcp.viact.ai/mcpnot in the official registry: answered when asked
No entry in the official MCP registry names this server. It answered on viact.ai when the Atlas asked at the address servers are usually mounted on, so it is the vendor's own. Clients and catalogues that list servers from the registry do not show it.
- Stateanswerschecked 2026-10-27
- Tools87
- Server calls itselfdot-ai-backend
- Server version2.14.4
- Protocol version2025-06-18
On 2026-10-27 the server answered initialize and tools/list without a sign-in. First answer in 298 ms.
- Whether its tools do the product's job has not been judged yet.
- Checked on 1 of the 7 days it takes to judge reliability.
Once connected
- permit-createPermitDraft, permit-updatePermit, permit-publishPermit, cpecs-createPaymentPackage, cpecs-setReviewState change data without a sign-in: anyone with the address can call them.
- Parameters are untyped or undescribed in 69 of 87 tools: check arguments before calling.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
- Answeredmeasuring1 of the 7 daily checks it takes to print a share
- Median first answer684 ms
- Space in an agent's context≈ 13,016 tokensthe definitions of all its tools (87), which an agent carries on every turn
- Tool definitionsC · 69 of 100
- Typed results4 of 87 toolsdeclared outputSchema: results come typed, read once
- Parameters without a type: in 7 of 87
- Parameters without a description: in 69 of 87
- Not saying whether it only reads or can destroy: 87 of 87
Worth a look
- Tools that change data, on a server that answers without a sign-in: permit-createPermitDraft, permit-updatePermit, permit-publishPermit, cpecs-createPaymentPackage, cpecs-setReviewState
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
company-getCompany[Company] Executes GET /api/company/{id}
groupingUnit-createGroupingUnit[Grouping Unit] Creates a new grouping unit in the hierarchy
groupingUnit-getGroupingUnitTree[Grouping Unit] Returns the hierarchical structure of grouping units starting from the specified unit **Path Parameters:** - **unitId**: Grouping Unit ID
groupingUnit-getRootUnits[Grouping Unit] Returns all active root-level grouping units
groupingUnit-getGroupingLevels[Grouping Unit] Returns the available grouping levels ordered by hierarchy
groupingUnit-addCompaniesToUnit[Grouping Unit] Adds one or more companies to the specified grouping unit and propagates the assignment up the hierarchy **Path Parameters:** - **id**: Grouping Unit ID
monitor-getLists[Monitor] Executes GET /api/monitor
monitor-getMonitor[Monitor] Executes GET /api/monitor/{id}
stats-getObjectCountingStatistic[Stats] Get Object counting statistic
stats-getSmartWatchStats[Stats] Get Critical incident statistic
stats-getSWActivityStats[Stats] Get Smart watch activity statistic
stats-getGasSensorStats[Stats] Get gas sensor statistic
stats-getAlertsTrendSummary[Stats] Get trend change alerts
stats-getAllAlertsTrendSummary[Stats] Get trend change alerts
stats-getAlertTrendByRange[Stats] Get alert trends summary by range and duration
stats-getAlertSummaryByLatLng[Stats] Get alerts summary by lat and long
stats-getAllAlertTrends[Stats] Get trend change alerts
detection-getAllDetections[Detection] Executes GET /api/detection
engines-searchEngines[Engines] Executes GET /api/engines/search
inventory-getAllInventory[Inventory] Executes GET /api/inventory
inventory-getInventoryStatsValidity[Inventory] Executes GET /api/inventory/stats-validity
inventory-getInventory[Inventory] Executes GET /api/inventory/{id}
companyMonitors-createNewCME[Company Monitors] Executes POST /api/companies-monitors-engines
smartLock-getSmartLockEventLogs[Smart Lock] Executes GET /api/smart-lock/events
smartLock-getAllSmartLockDevices[Smart Lock] Executes GET /api/smart-lock/devices
smartLock-getSmartLockDevice[Smart Lock] Executes GET /api/smart-lock/devices/{id}
permit-getPermitStatsStatus[Permit] Executes GET /api/permit/stats/status
permit-listPermits[Permit] Executes GET /api/permit
permit-createPermitDraft[Permit] Executes POST /api/permit/draft
permit-duplicatePermit[Permit] Executes POST /api/permit/{id}/duplicate
permit-getPermitById[Permit] Executes GET /api/permit/{id}
permit-updatePermit[Permit] Executes PUT /api/permit/{id}
permit-getPermitLogs[Permit] Executes GET /api/permit/{id}/logs
permit-publishPermit[Permit] Executes PUT /api/permit/{id}/publish
permit-listPermitTemplates[Permit] Executes GET /api/permit-template
permit-listPermitCategories[Permit] Executes GET /api/permit-template/category
permit-getPermitTemplateById[Permit] Executes GET /api/permit-template/{id}
gasMeter-getGasDeviceMonitoring[Gas Meter] Executes GET /api/gas-meter/{deviceId}/device-monitoring
gasDevice-getGasDevices[Gas Device] Executes GET /api/gas-devices
gasDevice-getGasDeviceAlerts[Gas Device] Executes GET /api/gas-devices/alerts
gasDevice-getGasDevice[Gas Device] Executes GET /api/gas-devices/{id}
droneDetection-getAllMonitorVideos[Drone Detection] Retrieve list of monitor videos with filters for text search, pagination, and engines
droneDetection-getDetectionsByDrone[Drone Detection] Retrieves drone detections filtered by company_code and/or monitor_id (drone). company_code defaults to the authenticated user's company. Supports optional period and status filters. Executes as a single query via…
droneDetection-getMonitorVideo[Drone Detection] Retrieve a specific monitor video by its monitor ID including monitor details and detection count
cpecs-listPaymentPackages[CPECS] Triage view of payment-application packages for the active project (resolved from request context). Supports status / search / pagination. Read-only.
cpecs-createPaymentPackage[CPECS] Create a package end-to-end in the active project (from request context): create → save cost-component groups → save line items → optionally publish. Confirm-gated in the agent runtime; the agent shows the draft for approval first.
cpecs-getPackageOverview[CPECS] Single rich read for a package: KPIs, grouped totals, duplicate flags and status. Replaces the multi-call fan-out the UI does.
cpecs-getPackageCostStructure[CPECS] Cost-component groups joined with their line items — "what is this package made of?". Grounds mapping & over-claim checks.
cpecs-listPackagePaymentApps[CPECS] All payment applications (bids) submitted under a package and their workflow state — feeds vetting selection.
cpecs-getPaymentAppReviewBundle[CPECS] Core vetting read. One call returns the full payment app (header + items by bucket + totals), prior-cert cross-check deltas, and the audit trail.
cpecs-getItemEvidence[CPECS] Prior-period diff, change history and the note thread for one item — used to justify a reject. Lazy-loaded so the review bundle stays lean.
cpecs-benchmarkLineItems[CPECS] The agent's pricing evidence. Batch-compares the supplied line items (pass them from get_payment_app_review_bundle) against the Rate DB and returns, per item, the matched band (p25/median/p75), Δ vs median %, escalation flag and a…
cpecs-searchRateDb[CPECS] Free-text / filtered similarity search of the Rate Database — ad-hoc "find me rates for X" and grounding for the wizard.
cpecs-getRateBenchmark[CPECS] Single-item benchmark with optional time-escalation — "is this unit rate fair vs market?" for one description.
cpecs-listSoccCatalogue[CPECS] Valid SoCC (Standard of Cost Components) codes for the active project (from request context) — grounding so SoCC mappings use real codes, not hallucinated ones. Read-only.
cpecs-classifyItem[CPECS] All reversible edits to one invoice line, behind an action discriminator: "assess" (accept), "map_socc" (set SoCC code), "quick_add" (create + map a cost-component line), or "note" (append a note). Returns the refreshed payment app.
cpecs-rejectItem[CPECS] Reject a line with a required reason (lands in the note thread + audit). mode="disallow" strikes it; mode="return" sends it back for backup. Confirm-gated in the agent runtime.
cpecs-setReviewState[CPECS] Toggle the application review state. state="reviewed" promotes it (precondition: no items left unmapped/unassessed); state="in_review" reopens it. Returns the refreshed payment app.
cpecs-certifyPaymentApp[CPECS] Certify the payment application — the money-moving final step. Irreversible. The agent must present the certify total + disallowed summary and obtain explicit human approval before calling this.
cpecs-startSpecExtraction[CPECS] Enqueue an extraction job for a spec PDF already uploaded to S3 (presigned). Returns a job view; poll get_spec_extraction_status until done. Produces a DRAFT only — nothing is persisted to a package.
The first 60 of 87, as the server listed them.
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"viact": {
"type": "http",
"url": "https://mcp.viact.ai/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http viact https://mcp.viact.ai/mcpclaude.ai, ChatGPT and other clients: add https://mcp.viact.ai/mcp as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.