Neo Mcp Logic Analyze
About
Python MCP server for controlled logic analysis from natural language, with an emphasis on auditable output and teaching-oriented explanations.
Details
- Author
- giseldo
- Downloads
- 231
- Categories
- Other
Jump to
- Tool nl_parse_logic for structured formalization into propositional or first-order logic.
- Ambiguity detection via detect_ambiguities (e.g., quantifier‑scope issues).
- Consistency checking (check_consistency) with unsat core support.
- Entailment checking (check_entailment) with proof sketches.
- Counterexample search (find_counterexample) when entailment fails.
- Teaching‑oriented prompts (teach_logic_step_by_step, review_formalization).
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Neo Mcp Logic AnalyzeCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install the package with pip install . after cloning the repository. The server is designed to be launched by an MCP client (e.g., Claude Desktop, Cursor) over stdio. Configure the client with the command neo-mcp-logic-analyze. Then invoke the exposed tools, resources, or prompts from your MCP host.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"neo mcp logic analyze": {
"neo-mcp-logic-analyze": {
"command": "neo-mcp-logic-analyze"
}
}
}
}
McpServers
{
"neo-mcp-logic-analyze": {
"command": "neo-mcp-logic-analyze"
}
}
neo-mcp-logic-analyze
Python MCP server for controlled logic analysis from natural language, with an emphasis on auditable output and teaching-oriented explanations. Landing Site Github PageWhat it does
This server accepts short natural-language statements and arguments, then provides structured logic-oriented outputs such as: - controlled formalization into propositional logic; - controlled formalization into a restricted fragment of first-order logic; - ambiguity detection relevant to formalization; - consistency checking; - entailment checking; - simple counterexamples when entailment fails; - natural-language explanations of the formalization process.MCP tools
The server exposes the following MCP tools: -nl_parse_logic
- detect_ambiguities
- check_consistency
- check_entailment
- find_counterexample
- explain_formalization
- normalize_argument
MCP resources
The server also exposes these resources: -logic://schemas/ast-v1
- logic://examples/propositional
- logic://examples/fol
- logic://guides/ambiguity-taxonomy
MCP prompts
Available prompts: -formalize_argument
- teach_logic_step_by_step
- review_formalization
Requirements
- Python 3.11+Installation
Clone the repository and install the package into your current Python environment: ``powershell
git clone https://github.com/giseldo/neo-mcp-logic-analyze
cd neo-mcp-logic-analyze
python -m pip install .
`
For development dependencies:
`powershell
python -m pip install -e .[dev]
`
Quick run
The server is designed to be launched by an MCP client over stdio, such as Claude Desktop, Cursor, or another MCP-compatible host.
To verify that the package is installed correctly, run:
`powershell
neo-mcp-logic-analyze
`
Expected output:
`text
neo-mcp-logic-analyze: servidor MCP iniciado em stdio; aguardando cliente...
`
The process will remain open waiting for an MCP client connection. Stop it with Ctrl+C.
MCP client configuration
After installing the project with pip install . or pip install -e ., configure your MCP client like this:
`json
{
"mcpServers": {
"neo-mcp-logic-analyze": {
"command": "neo-mcp-logic-analyze"
}
}
}
`
Example requests
Use the following examples from your MCP client.
Normalize an argument
Tool: normalize_argument
`text
text = "If it rains, the street gets wet. It rains. Therefore, the street gets wet."
`
Expected behavior:
- premises are separated from the conclusion;
- the conclusion is identified as a rua molha.
Propositional entailment
Tool: check_entailment
`text
premises = ["If it rains, the street gets wet.", "It rains."]
conclusion = "The street gets wet."
logic_family = "propositional"
`
Expected behavior:
- entailment succeeds;
- the response includes a proof sketch.
First-order logic formalization
Tool: nl_parse_logic
`text
text = "Every student studies."
logic_family = "fol"
return_alternatives = true
`
Expected behavior:
- at least one candidate formalization is returned;
- one expected surface form is forall x. (Aluno(x) -> Estuda(x)).
Ambiguity detection
Tool: detect_ambiguities
`text
text = "Every student has read a book."
`
Expected behavior:
- the server reports at least one quantifier-scope ambiguity.
Consistency checking
Tool: check_consistency
`text
premises = ["Every professor does research.", "No professor does research."]
logic_family = "fol"
`
Expected behavior:
- the set is inconsistent;
- the response can include an unsat core.
Counterexample search
Tool: find_counterexample
`text
premises = ["If I study, I pass.", "I passed."]
conclusion = "I studied."
logic_family = "propositional"
`
Expected behavior:
- the conclusion is not entailed;
- the response can include a counterexample model.
Limitations
- Natural-language interpretation is heuristic and intentionally restricted.
- The project is optimized for short inputs, not long free-form texts.
- When the input is ambiguous, the server prefers warnings and alternative readings instead of forcing a single interpretation.
Uninstall
If you installed the package with pip install . or pip install -e ., remove it with:
`powershell
pip uninstall neo-mcp-logic-analyze
``Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



