About Arg2P
Arg2P implements the ASPIC+ structured argumentation framework and also reads assumption-based and abstract frameworks. It is for researchers and developers building explainable reasoning systems, with a shared API across JVM, JavaScript, and Python and solver access in browser, VS Code, and AI assistants.
Key features
- 01Solve ASPIC+ argumentation theories
- 02Read assumption-based and abstract frameworks
- 03Shared API across JVM, JavaScript, and Python
- 04Run solver in browser and VS Code
- 05Use through AI assistant integrations
Use cases
- 01Explore structured argumentation results
- 02Build explainable reasoning systems
- 03Use argumentation in legal reasoning research
MCP support
The project provides an MCP server for AI assistants, but the README does not describe its tools or exposed capabilities.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 2d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| flags | string | No | The flags, as Prolog facts: argumentLabellingMode(grounded|complete|preferred|stable|semistable|ideal|eager|naive|stage|cf2|stage2|...), statementLabellingMode(statement), queryMode, graphBuildMode(...), ... Default: grounded semantics, standard statement labelling, query mode. |
| query | string | No | A Prolog goal on the theory (default: arg2p::solve(In, Out, Und)) |
| theory | string | Yes | The theory, in the language of arg2p: rules `r1 : bird(X) => flies(X).` (defeasible) and `r2 : a -> b.` (strict), premises `f1 :=> bird(tweety).`, axioms `f2 :-> a.`, preferences `sup(r1, r2).`, negation `-flies(X)`, Prolog clauses. Its profile, `graphBuildMode(aspic_plus).` (the default), `aspic`, `aspic_defeasible`, `meta`, `aba` (assumption/1, contrary/2, strict rules), `aba_plus`, `abstract` (arguments `a.`, attacks `a -> b.`, `a <-> b.`) or `free`, tells the framework it is read in. |
| maxSolutions | integer | No | How many solutions at most (default 5, at most 100) |
| timeoutSeconds | integer | No | How long to wait, in seconds (default 60, at most 600) |
Details
From the project READMEArg2P
Arg2P is an implementation of the ASPIC+ framework for structured argumentation, which reads assumption-based and abstract frameworks as well. Built on top of the tuProlog engine, it runs on the JVM, in JavaScript (Node.js and browsers) and in Python, with the same API; its solver runs in the browser, in VS Code, and for AI assistants.
The documentation starts from Getting Started.

Installing
| JVM (Gradle, Maven Central) | implementation("it.unibo.tuprolog.argumentation:arg2p-jvm:<VERSION>") |
| JavaScript (npm) | npm install @tuprolog/arg2p |
| Python (PyPI) | pip install arg2p (the wheel bundles a Java runtime) |
| Browser | the Web Playground: nothing to install |
| VS Code | the extension |
| Claude Code | /plugin install arg2p --marketplace tuProlog/arg2p-kt |
| Codex | codex plugin marketplace add tuProlog/arg2p-kt, then install arg2p from /plugins |
<VERSION> is the latest release, shown by the Maven Central badge above. See
Execution for a first program on each platform, the playground, the
extension of VS Code, and the plugin and MCP server of Arg2P for AI assistants (the other clients, and the server alone).

Issue tracking
If you encounter any issues, please report them on the GitHub Issues page.
Your feedback helps improve the project!
References
Arg2P is described in:
- Roberta Calegari, Andrea Omicini, Giuseppe Pisano, Giovanni Sartor. Arg2P: an argumentation framework for explainable intelligent systems. Journal of Logic and Computation, 32(2):369–401, 2022. doi:10.1093/logcom/exab089
- Giuseppe Pisano. Argumentation for legal reasoning: meta-models, technology and beyond. PhD thesis, Alma Mater Studiorum — Università di Bologna, 2024. doi:10.48676/unibo/amsdottorato/11671
Individual features — burden of persuasion, defeasible preferences, modularity, causality, distributed reasoning — have their own papers, listed on the References page of the wiki.
Cite me
If you use Arg2P in academic work, please cite:
@article{arg2p,
author = {Calegari, Roberta and Omicini, Andrea and Pisano, Giuseppe and Sartor, Giovanni},
title = {{Arg2P}: an argumentation framework for explainable intelligent systems},
journal = {Journal of Logic and Computation},
volume = {32},
number = {2},
pages = {369--401},
year = {2022},
doi = {10.1093/logcom/exab089}
}
@phdthesis{pisano2024argumentation,
author = {Pisano, Giuseppe},
title = {Argumentation for legal reasoning: meta-models, technology and beyond},
school = {Alma Mater Studiorum --- Universit\`a di Bologna},
year = {2024},
doi = {10.48676/unibo/amsdottorato/11671}
}
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.