MCP tools
This page is generated from the code of engine version 0.16.0. Between releases, the site shows the code on main, which may already have changes for the next version.
Pointsman serves the Model Context Protocol (MCP) at /mcp, so AI agents can ask a decision profile instead of deciding on their own. MCP server explains how to connect.
list_profiles
Section titled “list_profiles”List the decision profiles you can use: their questions, answer options and possible actions.
No arguments.
explain_profile
Section titled “explain_profile”Explain a decision profile in plain sentences: what the AI is asked, which facts and earlier decisions it uses, and each rule as “If …, the action is …”. Show the text to the person who approves the profile.
| Argument | Type | Required | Description |
|---|---|---|---|
profile | string | yes | Profile id from list_profiles |
lang | “en” | “ja” | no | Language of the sentences (default en) |
version | integer | no | A published version (default: the latest) |
replay_profile
Section titled “replay_profile”Try a changed policy on the decisions already made: what the new rules would have decided on the last logged decisions of a profile version, with the logged answers and facts (no model is called). Returns how many actions would change, from what to what, how often they would match what a person answered, and the changed decisions. Only the policy may change; send questions, facts and requires too to check that they are the same.
| Argument | Type | Required | Description |
|---|---|---|---|
profile | string | yes | Profile id from list_profiles |
policy | object | yes | The new policy: { rules: [{ when, action }], default, people_check?, people_answers? } |
version | integer | no | The published version to replay (default: the latest) |
limit | integer | no | How many of the newest decisions (default 200) |
questions | array | no | The draft’s questions, to check they did not change |
facts | array | no | The draft’s facts, to check they did not change |
requires | array | no | The draft’s requires, to check they did not change |
decide
Section titled “decide”Ask a decision profile. Returns typed answers with probabilities and the action to take (for example “auto”, or “review” when a person should decide). Use list_profiles first. For profiles with input fields, send state as an object with those fields under the names the profile expects.
| Argument | Type | Required | Description |
|---|---|---|---|
profile | string | yes | Profile id from list_profiles |
state | string | object | yes | What to decide about: text, or a JSON object |
ref | string | no | Your reference for this decision, for example an issue URL |
decisions | object | no | For profiles with requires: the decision_id of each earlier decision, by the name in requires. Needs ref. |
idempotency_key | string | no | Send the same key again to get the same decision instead of a new one |
get_decision
Section titled “get_decision”Get a decision by id: answers, action, profile version, model, review status and feedback.
| Argument | Type | Required | Description |
|---|---|---|---|
decision_id | string | yes | decision_id returned by decide |
submit_feedback
Section titled “submit_feedback”Correct a decision: give the right answer for one or more of its questions. Recorded in your name and used to measure how often the profile is right.
Only for people logged in through OAuth, not for API tokens.
| Argument | Type | Required | Description |
|---|---|---|---|
decision_id | string | yes | decision_id returned by decide |
correct | object | yes | The right answers, by question name, for example {“team”: “frontend”} |
note | string | no | Why, in a sentence |
An open-source project by Geolonia · About this site