## Installation
### Prerequisites
The MCP Proto-OKN server requires the `uv` package manager to be installed on your system. If you don't have it installed run:
```bash
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
```
```
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```
> **Note**: Once `uv` is installed, the `uvx` command in the configuration below will automatically download and run the latest version from PyPI when needed.
### Claude Desktop Setup
**Recommended for most users**
1. **Download and Install Claude Desktop**
Visit [https://claude.ai/download](https://claude.ai/download) and install Claude Desktop for your operating system.
> **Requirements**: Claude Pro or Max subscription is required for MCP server functionality.
2. **Configure MCP Server**
**Option A: Download Pre-configured File (Recommended)**
Download the pre-configured `claude_desktop_config.json` file with FRINK endpoints from the repository and copy it to the appropriate location:
**macOS**:
```bash
# Download the config file
curl -o /tmp/claude_desktop_config.json https://raw.githubusercontent.com/sbl-sdsc/mcp-proto-okn/main/config/claude_desktop_config.json
# Copy to Claude Desktop configuration directory
cp /tmp/claude_desktop_config.json "$HOME/Library/Application Support/Claude/"
```
**Windows PowerShell**:
```powershell
# Download the config file
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/sbl-sdsc/mcp-proto-okn/main/config/claude_desktop_config.json" -OutFile "$env:TEMP\claude_desktop_config.json"
# Copy to Claude Desktop configuration directory
Copy-Item "$env:TEMP\claude_desktop_config.json" "$env:APPDATA\Claude\"
```
**Option B: Manual Configuration**
Alternatively, you can manually edit the configuration file in Claude Desktop. Navigate to `Claude->Settings->Developer->Edit Config`
to edit it.
Below is an example of how to configure FRINK endpoints. Third-party SPARQL endpoints with a custom description can be added (see uniprot-sparql example below).
```json
{
"mcpServers": {
"spoke-okn": {
"command": "uvx",
"args": [
"mcp-proto-okn",
"--endpoint",
"https://frink.apps.renci.org/spoke-okn/sparql"
]
},
"biobricks-ice": {
"command": "uvx",
"args": [
"mcp-proto-okn",
"--endpoint",
"https://frink.apps.renci.org/biobricks-ice/sparql"
]
},
"uniprot": {
"command": "uvx",
"args": [
"mcp-proto-okn",
"--endpoint",
"https://sparql.uniprot.org/sparql",
"--description",
"Resource for protein sequence and function information. For details: https://purl.uniprot.org/html/index-en.htm"
]
}
}
}
```
> **Important**: If you have existing MCP server configurations, do not use Option A as it will overwrite your existing configuration. Instead, use Option B and manually merge the Proto-OKN endpoints with your existing `mcpServers` configuration.
3. **Restart Claude Desktop**
After saving the configuration file, quit Claude Desktop completely and restart it. The application needs to restart to load the new configuration and start the MCP servers.
4. **Verify Installation**
1. Launch Claude Desktop
2. Navigate to `Claude->Settings->Connectors`
3. Verify that the configured Proto-OKN endpoints appear in the connector list
4. You can configure each service to always ask for permission or to run it unsupervised (recommended)
### VS Code Setup
**For advanced users and developers**
1. **Install VS Code Insiders**
Download and install VS Code Insiders from [https://code.visualstudio.com/insiders/](https://code.visualstudio.com/insiders/)
> **Note**: VS Code Insiders is required as it includes the latest MCP (Model Context Protocol) features.
2. **Install GitHub Copilot Extension**
- Open VS Code Insiders
- Sign in with your GitHub account
- Install the GitHub Copilot extension
> **Requirements**: GitHub Copilot subscription is required for MCP integration.
3. **Configure MCP Server**
**Option A: Download Pre-configured File (Recommended)**
Download the pre-configured `mcp.json` file with FRINK endpoints from the repository and copy it to the appropriate location.
**macOS**:
```bash
# Download the config file
curl -o /tmp/mcp.json https://raw.githubusercontent.com/sbl-sdsc/mcp-proto-okn/main/config/mcp.json
# Copy to VS Code Insiders configuration directory
cp /tmp/mcp.json "$HOME/Library/Application Support/Code - Insiders/User/mcp.json"
```
> **Note**: VS Code Insiders mcp.json file is identical to the claude_desktop_config.json file, except "mcpServer" is replace by "server".
4. **Use the MCP Server**
1. Open a new chat window in VS Code
2. Select **Agent** mode
3. Choose **Claude Sonnet 4.5 or later** model for optimal performance
4. The MCP servers will automatically connect and provide knowledge graph access