MCP App Store
by KeenEthics
Data & Analytics
ActivityInfo.org icon

ActivityInfo.org

by ActivityInfo

Overview

Read and analyse data in ActivityInfo databases. Lists databases, forms and fields, retrieves records, create reports, re-code data.

Tools

addFields

ChatGPT
Append one or more new fields to the end of a form. Existing fields are not modified.

addForm

ChatGPT
Add a new form to the database.

addPivotsToReport

ChatGPT
Append one or more pivot analyses to an existing report. Existing components are preserved. Returns the same shape as addReport, with the updated pivot count and a URL pointing at the updated report.

addRecords

ChatGPT
Add one or more records to a form. Provide an array of record objects, each mapping field codes to values.

addReport

ChatGPT
Create a new notebook-layout report in a database, with one pivot analysis per entry in pivots. Returns the report's id, name, pivot count, and an absolute web URL the user can open to view or edit it.

deleteFields

ChatGPT
Delete fields from a form by their codes. This also deletes any data already entered in those fields. Fails without changing the form if any code does not match an existing field.

getRecords

ChatGPT
Retrieve all records of a form as a JSON array; each object maps field codes to values, plus an '_id' key for the record ID.

getReport

ChatGPT
Read back an existing report: its id, name, layout, URL, and the components currently in it. Pivot components are returned in the same shape they would be passed to addReport, so the LLM can inspect what's already there before deciding to append.

getTranslations

ChatGPT
Return the translatable strings of a dictionary for the given language. Each entry has key, original, and translation; untranslated strings have an empty translation. Pass these entries back unchanged (except for the translation) to updateTranslations. Use listTranslationDictionaries first to discover the dictionaryId.

insertFields

ChatGPT
Insert one or more new fields into a form, immediately after an existing field identified by its code, or at the start of the form if afterFieldCode is omitted. Existing fields are not modified.

listDatabases

ChatGPT
List the ActivityInfo databases the user can access. Call this first to discover the databaseId that every other tool requires. Each entry has an mcpServerEnabled flag: when it is false, every other tool will refuse the database and the owner must enable the MCP server in the database's Security section first.

listFields

ChatGPT
List all fields (columns) of a form, including subform references. Returns each field's code, name, type and other properties.

listResources

ChatGPT
List the forms and reports in an ActivityInfo database. Each entry has a type of FORM or REPORT; forms carry their name and folder path, reports carry their id, name, and an absolute web URL the user can open. Use this to discover what's in the database before drilling in with listFields, getReport, addPivotsToReport, etc.

listTranslationDictionaries

ChatGPT
List the translation dictionaries in a database: one for the database tree (database/folder/form/role labels) and one per form (field labels, descriptions, units, enum options). Each entry has an opaque id to pass to getTranslations / updateTranslations, plus a description naming what the dictionary contains.

pivot

ChatGPT
Run a pivot-table analysis to answer an analytical question about the data, and return the aggregated result. Provide one or more measures (what to aggregate, e.g. SUM of a quantity field, or COUNT of records) and optional row/column dimensions (how to group, e.g. by a category field or by month). Each measure and dimension names its own form; a dimension may use a related form and the relationship is resolved automatically. Returns CSV by default, or a flat list of row objects with format=JSON.

updateFields

ChatGPT
Update existing fields of a form, matched by code: changes name, description, required, options, formula or reference target in place, preserving the field and its data. The field type cannot be changed (delete and re-add the field for that).

updateRecords

ChatGPT
Update existing records of a form. Each record object must include the _id returned by getRecords; other keys are field codes whose values should change. Fields not present in the record object keep their existing values; pass JSON null to clear a field. Read-only field types (calculated, serial, attachment, subform, section header, reverse reference) are silently ignored.

updateTranslations

ChatGPT
Save translations for a dictionary. The server validates each entry against the current schema: entries with an unknown key or a drifted original are silently dropped, so always send back the rows you just received from getTranslations with only the translation filled in. Form labels are mirrored between the database-tree dictionary and the form's own dictionary automatically.

addFields

Claude

addForm

Claude

addPivotsToReport

Claude

addRecords

Claude

addReport

Claude

deleteFields

Claude

getRecords

Claude

getReport

Claude

getTranslations

Claude

insertFields

Claude

listDatabases

Claude

listFields

Claude

listResources

Claude

listTranslationDictionaries

Claude

pivot

Claude

updateFields

Claude

updateRecords

Claude

updateTranslations

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

36

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily