mcp-server

nf-osi/mcp-server

3.2

If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

An MCP server that provides AI assistants with access to NF-OSI resources and tools.

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

(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

(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:

    • (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:

  • (when available)

Development

Running Tests

Tests
  • See tests within server-specific directory
  • AI agent tests:
# 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