Understanding the ActivityInfo MCP server

Language: English

ActivityInfo runs a Model Context Protocol (MCP) server. It lets an AI assistant such as Claude, ChatGPT, Microsoft Copilot, Gemini Enterprise or Mistral work directly with the data in your ActivityInfo databases, instead of you exporting a spreadsheet and pasting it into a chat.

Tools

An AI assistant on its own can only work with the text you give it. Recent assistants can also call tools: small, well-defined operations that reach outside the conversation. Given a tool that lists databases and a tool that runs an analysis, an assistant answers a question by calling them in sequence rather than by asking you to fetch the data.

Take a question such as “What percentage of the farmers we trained in Mali increased their yield in the year after the training?” An assistant connected to ActivityInfo works through it roughly like this:

  1. List the databases you can reach, to see which ones might be relevant.
  2. List the forms and reports in the promising database.
  3. List the fields of the forms that look relevant, to find the yield and training date fields and their codes.
  4. Run a pivot analysis that compares yield before and after the training date.

It then turns the result into an answer: “In the Mali Livelihoods database, 45% of the farmers recorded a yield increase of at least 20% in the year after training. Would you like me to break this down by district?”

Each step is a request to ActivityInfo that you could have made yourself. The value is that the assistant chooses the steps, reads the results, and corrects course when a form turns out not to hold what it expected.

Model Context Protocol

The Model Context Protocol (MCP) is an open standard for connecting tools with assistants. An AI assistant acts as a client. A system that holds data, such as ActivityInfo, runs a server that offers tools. The server describes its tools over an HTTPS connection, and the client calls them over the same connection.

The standard matters because it removes the need for a separate integration per assistant. ActivityInfo publishes one MCP endpoint, and any assistant that speaks MCP can use it.

ActivityInfo's endpoint is:

https://www.activityinfo.org/mcp

It uses the Streamable HTTP transport, which is what current assistants expect.

What an assistant can do

The tools fall into a few groups. Within the permissions of the user who connected, an assistant can:

  • Explore a database. List the databases you can reach, the folders, forms and reports in a database, and the fields of a form, including subforms.
  • Read and analyse records. Retrieve the records of a form, or run a pivot analysis that aggregates them: a sum or a count, grouped by category, by month, or by a field on a related form.
  • Design and change forms. Add a form, add fields, insert a field at a particular position, change a field's label, description, options or formula, and delete fields.
  • Enter and correct data. Add records to a form, and edit existing records.
  • Build reports. Create a report containing pivot analyses, read back a report that already exists, and append analyses to it. The assistant returns a link you can open.
  • Translate a database. List the translation dictionaries, read the translatable strings for a language, and save translations for them.

This suits some tasks much better than others. Assistants are strong at reviewing a form design for gaps and inconsistencies, at turning a monitoring plan or logical framework into a first draft of a set of forms, at answering an analytical question that would otherwise take several manual pivot tables, and at drafting translations for a database that has to be collected in several languages. They are weaker at anything where the exact number matters and cannot be checked, because an assistant will occasionally choose the wrong field or the wrong aggregation and report the result with full confidence.

Ask an assistant to show which forms and fields it used, and check that the figure is what you expected.

What it does not do

  • It does not widen anyone's access. An assistant acts as the user who authorised it, and is subject to that user's role and grants. See Understanding permissions for AI assistants.
  • It is not on by default. The MCP server has to be enabled for each database. See Enabling the MCP server for a database.
  • It does not read attachments, and it does not read data from a database whose MCP setting is off, even where you have full access to that database.
  • It does not act on its own. An assistant only calls a tool in response to something you ask it.

Retrieving records and running analyses

ActivityInfo's MCP server provides tool for both retrieving raw data, and for running analyses on data stored in ActivityInfo.

Retrieving records returns every record of a form. That is the right approach for a form with a few hundred records, and for questions about individual records or free text. For a form with tens of thousands of records it fills up the conversation and the assistant may lose track of the earlier part of it.

A pivot analysis is calculated by ActivityInfo and returns only the aggregated result, as CSV. It stays small whatever the size of the form, and it is the right approach for totals, counts and breakdowns. If an assistant starts retrieving a very large form to answer a question about totals, ask it to run a pivot analysis instead.

Before you connect

Connecting an assistant sends data from your database to the company that runs the assistant. For a database that holds personal data, that is a decision to settle before anyone connects, not afterwards. See Using AI assistants with sensitive data.

Next item
Understanding permissions for AI assistants