@clarified/mcp-server-noir
v0.0.3
Published
MCP server for Noir language development reference
Downloads
8
Readme
@clarified/mcp-server-noir
An MCP (Model Context Protocol) server that provides seamless access to the Noir programming language codebase and documentation. This server enables AI assistants to efficiently search through Noir's source code, standard library, and documentation.
Introduction
The Noir MCP server acts as a bridge between AI assistants and the Noir codebase. It provides tools to search through:
- Noir standard library implementations
- Official documentation
- Noir bignum library
Installation & Setup
GitHub Configuration
The server requires a GitHub personal access token with repo scope to access the Noir repositories. Set this token in your environment:
export GITHUB_TOKEN=your_token_hereIntegration with AI Assistants
Claude Desktop App
- Open the Claude configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json- Add the Noir MCP server configuration:
{
"mcpServers": {
"noir": {
"command": "npx -y @clarified/mcp-server-noir",
"env": {
"GITHUB_TOKEN": "your_token_here"
},
"disabled": false
}
}
}Cline
- Open the Cline settings file:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json- Add the Noir MCP server configuration:
{
"mcpServers": {
"noir": {
"command": "npx -y @clarified/mcp-server-noir",
"env": {
"GITHUB_TOKEN": "your_token_here"
},
"disabled": false
}
}
}Features
Available Tool
search_noir
Search for code or documentation across Noir repositories.
{
name: "search_noir",
inputSchema: {
type: "object",
properties: {
query: {
type: "string",
description: "Search query"
},
path: {
type: "string",
description: "Optional path to search in (docs, stdlib)"
},
fileType: {
type: "string",
enum: ["nr", "md"],
description: "Optional file type filter"
}
},
required: ["query"]
}
}Example usage:
// Search for hash function implementations
{
"name": "search_noir",
"arguments": {
"query": "hash function",
"path": "stdlib",
"fileType": "nr"
}
}
// Search documentation about constraints
{
"name": "search_noir",
"arguments": {
"query": "constraint system",
"fileType": "md"
}
}Development
Building from Source
- Clone the repository
- Install dependencies:
pnpm install- Build the project:
pnpm build- Watch mode for development:
pnpm watchProject Structure
src/
├── config/ # Configuration files
├── tools/ # Tool implementations
├── utils/ # Utility functions
└── index.ts # Main server entry pointContributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
