MCP Expr Lang
About
MCP Expr-Lang provides a seamless integration between Claude AI and the powerful expr-lang expression evaluation engine.
Details
- Author
- ivan-saorin
- GitHub stars
- 1
- Downloads
- 187
- Categories
- Developer Tools, Community, Other
Jump to
- Evaluate mathematical and logical expressions
- Transform, filter, and reduce arrays and objects
- Sort complex data structures
- Perform string manipulations (concatenation, length, case)
- Use conditional logic (ternary, if-else)
- Built-in math, string, array, and date functions
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
MCP Expr LangCommand (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 by cloning the repository, building the Go binary (Go 1.18+ required), and configuring Claude Desktop’s config.json with the path to the server binary under the "eval" key. After restarting Claude, use the eval tool by asking Claude to evaluate an expression.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp expr lang": {
"eval": {
"command": "/path/to/mcp-expr-lang/bin/server"
}
}
}
}
McpServers
{
"eval": {
"command": "/path/to/mcp-expr-lang/bin/server"
}
}
MCP Expr-Lang
Overview
MCP Expr-Lang provides a seamless integration between Claude AI and the powerful expr-lang expression evaluation engine. This tool allows you to perform complex data manipulations, calculations, and transformations directly within your Claude conversations. With MCP Expr-Lang, you can: - Evaluate mathematical expressions - Transform and filter arrays and objects - Sort complex data structures - Perform string manipulations - Use conditional logic - And much more!Installation
Installing via Smithery
To install MCP Expr-Lang for Claude Desktop automatically via Smithery: ``bash
npx -y @smithery/cli install @ivan-saorin/mcp-expr-lang --client claude
`
Prerequisites
- Go 1.18 or higher
- Claude Desktop application
- Git
Step 1: Clone the Repository
`bash
git clone https://github.com/ivan-saorin/mcp-expr-lang.git
cd mcp-expr-lang
`
Step 2: Install Dependencies
`bash
go mod download
`
Step 3: Build the Application
For Windows
`bash
go build -o bin/server.exe
`
For macOS/Linux
`bash
go build -o bin/server
chmod +x bin/server
`
Step 4: Configure Claude Desktop
1. Open Claude Desktop
2. Go to Settings
3. Navigate to the "Advanced" section
4. Add the following configuration to your config.json:
For Windows
`json
{
"mcpServers": {
"eval": {
"command": "C:\\path\\to\\mcp-expr-lang\\bin\\server.exe"
}
}
}
`
For macOS/Linux
`json
{
"mcpServers": {
"eval": {
"command": "/path/to/mcp-expr-lang/bin/server"
}
}
}
`
5. Save the configuration and restart Claude Desktop
Usage
Once installed, you can use the eval tool directly in your conversations with Claude. Simply ask Claude to evaluate an expression using the tool.
Basic Example
`
User: Use eval to calculate "10 + 5 3"
Claude: [Uses eval tool]
Result: 10 + 5 3 = 25
`
Complex Example
`
User: We have users = [{"Name": "John", "Age": 30},{"Name": "Ivan", "Age": 51},{"Name": "Eve", "Age": 15}]
Use eval to calculate "sortBy(users, .Age, "desc")"
Claude: [Uses eval tool]
Result: The expression returns the users sorted by age in descending order:
[
{"Age": 51, "Name": "Ivan"},
{"Age": 30, "Name": "John"},
{"Age": 15, "Name": "Eve"}
]
`
For more examples please see EXAMPLES
Features
MCP Expr-Lang supports all features of the expr-lang engine, including:
- Arithmetic operations: Addition, subtraction, multiplication, division, modulo, exponentiation
- String operations: Concatenation, length, uppercase/lowercase conversion
- Boolean operations: AND, OR, NOT, comparison operators
- Array operations: Mapping, filtering, reducing, sorting
- Object manipulation: Property access, transformation
- Conditional logic: Ternary operators, if-else expressions
- Built-in functions: Mathematical, string, array, and date functions
For a complete guide to the expression language syntax and capabilities, see the expr-lang documentation.
Troubleshooting
Common Issues
1. Tool not appearing in Claude: Make sure the path in your config.json is correct and Claude Desktop has been restarted.
2. Execution errors: Check that the expression syntax is correct according to the expr-lang documentation.
3. Permission issues (macOS/Linux): Ensure the server binary has execution permissions (chmod +x bin/server).
Getting Help
If you encounter any issues or have questions:
1. Check the Issues section on GitHub
2. Open a new issue if your problem hasn't been reported
Contributing
Contributions are welcome! If you'd like to improve MCP Expr-Lang:
1. Fork the repository
2. Create a feature branch (git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add some amazing feature')
4. Push to the branch (git push origin feature/amazing-feature`)
5. Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.Acknowledgments
- expr-lang for the powerful expression evaluation engine - mcp-golang for the Model Context Protocol implementation - Claude AI for the AI assistant platform --- Made with ❤️ by Ivan SaorinSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





