Blawx MCP Server

Enables interaction with the Blawx API for logic-based reasoning and answers.

README.md

blawx-mcp

A minimal run-local MCP server (SSE over HTTP) that calls the Blawx API using a Blawx API key.

Prereqs

  • Python 3.10+

Install

From this repo root:

python -m pip install -e .

Configuration

Set required configuration in your environment:

export BLAWX_API_KEY="your_key_here"
export BLAWX_TEAM_SLUG="your_team_slug"
export BLAWX_PROJECT_ID="42"

You will find the Blawx Project ID and team slug in the URL of your web browser when you go to the home page for your project. The pattern will be https://app.blawx.dev/a/{team_slug}/project/{project_id}

You can create a Blawx API Key if you have a Pro subscription to Blawx. Click on "Profile" in the left navigation bar, and find the "Add API Key" button. When you click the button your API key will be displayed only once at the top of the screen. Copy and paste it into your environment settings.

Run

Run the MCP server from this folder (no install required):

./.venv/bin/python -m blawx_mcp

Defaults:

  • Binds to 127.0.0.1:8765
  • SSE endpoint at http://127.0.0.1:8765/sse

Optional server bind overrides:

export BLAWX_MCP_HOST="127.0.0.1"
export BLAWX_MCP_PORT="8765"

Connect to Your Coding Agent

Coding agents differ in how they configure MCP servers. This is a typical tool definition in your mcp.json for VS Code.

{
	"servers": {
		"my-blawx-sse-server": {
			"url": "http://127.0.0.1:8765/sse",
			"type": "http"
		}
	},
	"inputs": []
}

Tools

These tools give your coding agent the following capabilities:

  1. Discover what the project exposes (questions, fact scenarios, ontology).
  2. Ask a question (using either a stored fact scenario or a custom facts payload).
  3. Browse answers and drill into explanations (model/attributes/explanation text).

Here's a brief run-down of the available tools.

Health check

  • blawx_health: verifies the Blawx app is reachable and returns status/body.

Discover Project Content

Agents will usually start by listing the available questions, fact scenarios, and vocabulary.

  • blawx_questions_list: lists shared questions available in the project.
  • blawx_question_detail: retrieves a specific question's details (useful when deciding which question id to ask).
  • blawx_fact_scenarios_list: lists stored fact scenarios (prebuilt sets of facts you can re-use).
  • blawx_fact_scenario_detail: shows the facts contained in a specific fact scenario.
  • blawx_ontology_list: lists ontology categories/relationships (the project's vocabulary).
  • blawx_ontology_category_detail: details for a specific category.
  • blawx_ontology_relationship_detail: details for a specific relationship (including arity/parameters).

Ask Questions

  • blawx_question_ask_with_fact_scenario: asks a question using a stored fact scenario.
  • blawx_question_ask_with_facts: asks a question using an explicit facts payload generated by your agent based on your instructions.

NB: It's not clear how good agents will be at generating representations of complicated fact scenarios in complicated vocabularies. It can be helpful to review how your agent formulated your fact scenario if you get unexpected results, and to give it hints on how to do better.

When you pose a question, the answer is saved on the Blawx server for approximately 30 minutes, and your agent can review it over that period of time. Once the data expires, your agent will need to pose the qestion again to analyse the responses further. Based on the instructions provided by the MCP server, it should know to do that when and if required.

Review Answers

Blawx's answers can be quite large, and agents have a limited context window, so the process of reviewing answers is broken into multiple steps.

  1. Get the list of answers to the question.
  2. Get the list of explanations for a specific answer.
  3. Look at the parts of a specific explanation.
  • blawx_list_answers: gives the list of answers available, and the bindings in those answers.

  • blawx_list_explanations: gives the list of explanations available for an answer

There are four tools to retrieve specific parts of an explanation. These tools all allow the agent to select the entire part, or if it is too long, to select only certain lines at a time.

  • blawx_get_model_part: this returns the answer set
  • blawx_get_attributes_part: this returns the constraints applied to variables in the model and explanations
  • blawx_get_explanation_part: this is the tree-structured, human-readable explanation for the answer
  • blawx_get_constraint_satisfaction_part: this is the portion of the explanation that shows how global constraints were satisfied. This is often both verbose and unhelpful, so it is separated out. You may need to ask your agent to seek it specifically if you know your encoding uses constraints and you need to know how they are satisfied.

NB: The other three parts should be read alongisde the attributes, or relevan

Tools 16

blawx_healthVerifies the Blawx app is reachable and returns status.
blawx_questions_listLists shared questions available in the project.
blawx_question_detailRetrieves a specific question's details.
blawx_fact_scenarios_listLists stored fact scenarios.
blawx_fact_scenario_detailShows the facts contained in a specific fact scenario.
blawx_ontology_listLists ontology categories and relationships.
blawx_ontology_category_detailDetails for a specific category.
blawx_ontology_relationship_detailDetails for a specific relationship.
blawx_question_ask_with_fact_scenarioAsks a question using a stored fact scenario.
blawx_question_ask_with_factsAsks a question using an explicit facts payload.
blawx_list_answersGives the list of answers available and the bindings.
blawx_list_explanationsGives the list of explanations available for an answer.
blawx_get_model_partReturns the answer set.
blawx_get_attributes_partReturns the constraints applied to variables in the model.
blawx_get_explanation_partReturns the human-readable explanation for the answer.
blawx_get_constraint_satisfaction_partReturns the portion of the explanation showing how global constraints were satisfied.

Environment Variables

BLAWX_API_KEYrequiredAPI key for Blawx Pro subscription
BLAWX_TEAM_SLUGrequiredThe team slug from the Blawx project URL
BLAWX_PROJECT_IDrequiredThe project ID from the Blawx project URL

Try it

List all available questions in my current Blawx project.
Ask the question with ID 123 using the stored fact scenario 'Standard-Scenario'.
Get the human-readable explanation for the first answer to my recent question.
List the ontology relationships to understand the vocabulary of my project.

Frequently Asked Questions

What are the key features of Blawx MCP Server?

Discover project ontologies, questions, and fact scenarios.. Execute logic-based questions using stored or custom fact payloads.. Retrieve step-by-step, human-readable explanations for logic answers.. Drill down into model attributes and constraint satisfaction details..

What can I use Blawx MCP Server for?

Automating the verification of complex business rules against specific fact sets.. Debugging logic models by inspecting how constraints are satisfied.. Generating human-readable explanations for automated compliance or policy decisions.. Exploring project vocabulary and relationships to build better fact scenarios..

How do I install Blawx MCP Server?

Install Blawx MCP Server by running: python -m pip install -e .

What MCP clients work with Blawx MCP Server?

Blawx MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Blawx MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare