Folprover Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Folprover Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server for First-Order Logic theorem proving using Vampire, E, and Prover9.
The server includes a built-in simple prover that works without any external installation. For more complex proofs, install one of the following theorem provers:
Vampire (recommended):
# Linux (Ubuntu/Debian)
sudo apt-get install vampire
# macOS (with Homebrew)
brew install vampire
# Or download from: https://github.com/vprover/vampireE Prover:
# Linux (Ubuntu/Debian)
sudo apt-get install eprover
# macOS
brew install eprover
# Or download from: https://wwwlehre.dhbw-stuttgart.de/~sschulz/E/E.htmlProver9:
# Download from: https://www.cs.unm.edu/~mccune/prover9/pip install folprover-mcpOr install from source:
git clone https://github.com/folprover-mcp/folprover-mcp
cd folprover-mcp
pip install -e .Add to your MCP client configuration:
Add to ~/.config/claude/claude_desktop_config.json (Linux/macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"folprover": {
"command": "folprover-mcp"
}
}
}Add to your Continue configuration:
{
"mcpServers": {
"folprover": {
"command": "folprover-mcp"
}
}
}The server supports standard FOL notation with Unicode operators:
| Symbol | Meaning | Example |
|---|---|---|
∀ | Universal quantifier | ∀x P(x) |
∃ | Existential quantifier | ∃x P(x) |
∧ | Conjunction (AND) | P(x) ∧ Q(x) |
∨ | Disjunction (OR) | P(x) ∨ Q(x) |
→ | Implication | P(x) → Q(x) |
↔ | Biconditional | P(x) ↔ Q(x) |
¬ | Negation | ¬P(x) |
⊕ | Exclusive OR | P(x) ⊕ Q(x) |
You can also use ASCII alternatives:
forall or all for ∀exists for ∃& or and for ∧| or or for ∨-> or implies for →<-> or iff for ↔~ or not for ¬#### prove Execute a FOL proof directly:
{
"premises": [
"∀x (Human(x) → Mortal(x))",
"Human(socrates)"
],
"conclusion": "Mortal(socrates)",
"prover": "vampire"
}#### add_premise Add a premise to the current session:
{
"premise": "∀x (Human(x) → Mortal(x))"
}#### set_conclusion Set the conclusion to prove:
{
"conclusion": "Mortal(socrates)"
}#### prove_session Prove using the current session's premises and conclusion:
{
"prover": "vampire"
}#### parse_formula Parse and validate a FOL formula:
{
"formula": "∀x (P(x) → Q(x))"
}#### convert_to_tptp Convert a problem to TPTP format:
{
"premises": ["∀x (P(x) → Q(x))", "P(a)"],
"conclusion": "Q(a)"
}#### list_provers List available theorem provers:
{}create_session: Create a new named sessionlist_sessions: List all active sessionsswitch_session: Switch to a different sessionget_session: Get current session stateclear_session: Clear all premises and conclusionremove_premise: Remove a premise by indexPremises:
∀x (Human(x) → Mortal(x))Human(socrates)Conclusion: Socrates is mortal: Mortal(socrates)
Result: Theorem (True)
Premises:
∀x ∀y ∀z ((Subset(x,y) ∧ Subset(y,z)) → Subset(x,z))
Subset(a, b)Subset(b, c)Conclusion: A is a subset of C: Subset(a, c)
Result: Theorem (True)
Premises:
∃x (Bird(x) ∧ CanFly(x))Conclusion: All birds can fly: ∀x (Bird(x) → CanFly(x))
Result: Not a theorem (False - there's a counter-model where some bird can't fly)
folprover-mcp/
├── src/folprover_mcp/
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ ├── provers.py # Prover interfaces (Vampire, E, Prover9, Simple)
│ ├── simple_prover.py # Built-in resolution prover
│ ├── fol_parser.py # FOL formula parser
│ └── tptp_converter.py # TPTP format converter
├── tests/ # Test suite
├── examples/ # Example proof problems
├── pyproject.toml
└── README.mdMIT License
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.