Neuromance
A Rust library for controlling and orchestrating LLM interactions.
Overview
Neuromance provides high-level abstractions for building LLM-powered applications in Rust.
neuromance- Main library providing unified interface for LLM orchestrationneuromance-common- Common types and data structures for conversations, messages, and toolsneuromance-client- Client implementations for various LLM providersneuromance-agent- Agent framework for autonomous task execution with LLMsneuromance-tools- Tool execution framework with MCP supportneuromance-cli- Interactive command-line interface for LLM interactions
Development
Prerequisites
- Rust 1.90 or higher
- Cargo
Building
Testing
Linting
Formatting
Workspace Structure
neuromance/
├── crates/
│ ├── neuromance/ # Main library
│ ├── neuromance-common/ # Common types and data structures
│ ├── neuromance-client/ # Client implementations
│ ├── neuromance-agent/ # Agent framework
│ ├── neuromance-tools/ # Tool execution framework
│ └── neuromance-cli/ # Command-line interface
├── Cargo.toml # Workspace configuration
├── mcp_config.toml.example # Example MCP configuration
└── README.md
Model Context Protocol (MCP) Support
Neuromance supports the Model Context Protocol for connecting to external tool servers. MCP allows LLMs to access tools like filesystem operations, database queries, web APIs, and more.
Quick Start with MCP
-
Copy the example configuration:
-
Edit
mcp_config.tomlto configure your MCP servers -
Use with the CLI:
See mcp_config.toml.example for detailed configuration examples.
Contributing
Contributions are welcome.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Authors
- Evan Dobry (@ecdobry)
Acknowledgments
Named after William Gibson's novel Neuromancer.