Model Context Protocol (MCP) Server for NF-OSI

by nf-osi

154 downloads
Not rated
GitHub

About

An MCP server that gives your AI assistant access to NF-OSI resources and tools

Details

Author
nf-osi
Downloads
154
Categories
Other

- Query and extract metadata from Synapse datasets
- Validate metadata against JSON schemas
- Submit metadata as Synapse annotations
- Review and classify Synapse projects
- Retrieve Data Sharing Plans
- (Coming soon) Institutional memory preserving team history and SOPs

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Model Context Protocol (MCP) Server for NF-OSI
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository and install the server(s) you want (see each server’s subdirectory). Configure each server in your MCP client (e.g., Claude Desktop) by adding its entry to the mcpServers JSON object. For the nfty server, set the environment variable SYNAPSE_AUTH_TOKEN. Verify by running the server directly with uvx --from . nfty.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "model context protocol (mcp) server for nf-osi": {
            "mcp-server-nf-osi": {
                "command": "uvx",
                "args": [
                    "--from",
                    ".",
                    "nfty"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-server-nf-osi": {
        "command": "uvx",
        "args": [
            "--from",
            ".",
            "nfty"
        ]
    }
}

Model Context Protocol (MCP) Servers for NF-OSI

A collection of MCP servers that give your AI assistant access to NF-OSI resources and tools.

Available Servers

nfty (Python)

Nifty tools for Synapse data curation workflows. Enables AI assistants to:

- Query and extract metadata from Synapse datasets
- Validate metadata against JSON schemas
- Submit metadata as Synapse annotations
- Review and classify Synapse projects
- Retrieve Data Sharing Plans

Status: ✅ Production ready
Language: Python 3.8+
Dependencies: synapseclient, mcp, requests, jsonschema

memory (Coming Soon)

Institutional memory and knowledge base for NF-OSI. Preserves:

- Team history and design decisions from official documentation as well as sources like Slack
- Tribal knowledge captured from long-time team members
- Standard operating procedures and common patterns
- Historical context for curation decisions
- Project-specific context and conversation state

Status: 🚧 Under development
Language: TBD

Overview

This repository is organized as a monorepo containing multiple independent MCP servers. Each server:

- Is self-contained with its own dependencies
- Can be installed and used independently
- May be written in different programming languages
- Follows the MCP protocol for AI assistant integration

Quick Start

Installation

1. Clone the repository

   git clone <repository-url>
cd mcp-server

2. Install the server(s) you want to use

Each server has its own installation instructions in its subdirectory:
- nfty installation
- memory installation (when available)

You can install and use multiple servers simultaneously - they run as independent processes.

Configuration

Each server is configured independently in your MCP client. You can enable one or multiple servers.

For Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "nfty": {
      "command": "uvx",
      "args": ["--from", "/absolute/path/to/mcp-server", "nfty"],
      "env": {
        "SYNAPSE_AUTH_TOKEN": "your-synapse-personal-access-token"
      }
    }
  }
}

Important: Replace /absolute/path/to/mcp-server with the actual path to your repository.

Multiple Servers Example:

{
"mcpServers": {
"nfty": {
"command": "uvx",
"args": ["--from", "/absolute/path/to/mcp-server", "nfty"],
"env": {
"SYNAPSE_AUTH_TOKEN": "your-synapse-personal-access-token"
}
},
"memory": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/memory/build/index.js"],
"env": {}
}
}
}

Note: Each server runs as an independent process. You can enable/disable servers by adding/removing them from the configuration.


For Other MCP Clients

Refer to your client's documentation for MCP server configuration. Each server's configuration follows this pattern:

For nfty (Python):
- Command: uvx
- Args: ["--from", "/path/to/mcp-server", "nfty"]
- Environment: SYNAPSE_AUTH_TOKEN with your token

For memory (Node.js example):
- Command: node
- Args: ["/path/to/mcp-server/memory/build/index.js"]
- Environment: Server-specific env vars

For compiled servers (Go/Rust example):
- Command: "/path/to/mcp-server/server-name/bin/executable"
- Args: [] (or server-specific args)
- Environment: Server-specific env vars

Verify Installation

Test each server directly:

nfty:

bash
export SYNAPSE_AUTH_TOKEN="your-token"
uvx --from . nfty

The server will start and wait for MCP protocol messages. Press Ctrl+C to stop.

Other servers: See each server's README for specific testing instructions.

Usage

Once configured, your AI assistant can access the nifty tools provided by each enabled server.

See each server's documentation for specific capabilities and usage examples:
- nfty documentation
- memory documentation (when available)

Development

Running Tests

Tests

- See tests within server-specific directory
- AI agent tests:

bash

Requires goose


export SYNAPSE_AUTH_TOKEN=$SYNAPSE_AUTH_TOKEN
goose run --recipe tests/curator_tester.yaml
``

Adding New Tools

nfty

1. Add tool definition to list_tools() in mcp_server.py
2. Implement the async handler function
3. Add handler to
call_tool() dispatcher
4. Update documentation in
TOOLS.md
5. Update test prompt in
tests/curator_tester.yaml`

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.