Skip to main content
Glama
turingmindai

TuringMind MCP Server

Official
by turingmindai

TuringMind MCP Server

PyPI version Python 3.10+ License: MIT

Model Context Protocol (MCP) server for TuringMind cloud integration. Provides type-safe tools for Claude to authenticate, upload code reviews, fetch repository context, and submit feedback.

Requires Python 3.10+ (MCP SDK requirement)

Why MCP?

Instead of Claude generating raw JSON and curl commands (which can fail silently due to field name mismatches or malformed data), MCP provides:

  • Type-safe tool definitions — Claude sees the exact schema

  • Validated input — Errors caught before sending

  • No endpoint guessing — Correct URLs hardcoded

  • Better error messages — Clear feedback on failures

  • Simplified login — Device code flow handled by the server

Installation

From PyPI

pip install turingmind-mcp
pipx install turingmind-mcp

From Source

git clone https://github.com/turingmindai/turingmind-mcp.git
cd turingmind-mcp
pip install -e .

Verify Installation

turingmind-mcp --help

Quick Start

1. Configure Claude Desktop

Add to your Claude Desktop config file:

Platform

Path

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "turingmind": {
      "command": "turingmind-mcp"
    }
  }
}

2. Restart Claude Desktop

3. Login to TuringMind

In Claude, say: "Log me into TuringMind"

Claude will guide you through the device code flow.

Available Tools

Authentication

Tool

Description

turingmind_initiate_login

Start device code auth flow (no API key needed)

turingmind_poll_login

Complete login and save API key

turingmind_validate_auth

Check API key and account status

Code Review

Tool

Description

turingmind_upload_review

Upload review results to cloud

turingmind_get_context

Get memory context for a repository

turingmind_submit_feedback

Mark issues as fixed, dismissed, or false positive

Tool Reference

turingmind_initiate_login

Start device code authentication flow. No API key required.

Parameters: None

Returns:

  • verification_url — URL to open in browser

  • user_code — Code to enter when prompted

  • device_code — Use with turingmind_poll_login


turingmind_poll_login

Poll for authentication completion.

Parameters:

Name

Type

Required

Description

device_code

string

Device code from turingmind_initiate_login

Returns:

  • On success: API key (automatically saved to ~/.turingmind/config)

  • On pending: Status message to wait and retry

  • On expired: Error message to restart flow


turingmind_validate_auth

Validate API key and get account info.

Parameters: None

Returns:

  • Tier (free, pro, team, enterprise)

  • Quota remaining

  • User ID


turingmind_upload_review

Upload code review results to TuringMind cloud.

Parameters:

Name

Type

Required

Description

repo

string

Repository (owner/repo)

branch

string

Git branch name

commit

string

Git commit SHA

review_type

"quick" | "deep"

Review type (default: quick)

issues

array

List of issues found

raw_content

string

Full review as markdown

summary

object

{critical, high, medium, low} counts

files_reviewed

array

Files that were reviewed

Issue Schema:

{
  "title": "SQL Injection vulnerability",
  "severity": "critical",
  "category": "security",
  "file": "src/db.py",
  "line": 42,
  "description": "User input passed directly to query",
  "cwe": "CWE-89",
  "confidence": 95
}

turingmind_get_context

Get memory context for a repository.

Parameters:

Name

Type

Required

Description

repo

string

Repository (owner/repo)

Returns:

  • Recent open issues

  • Hotspot files (frequent issues)

  • Team conventions

  • Known false positive patterns


turingmind_submit_feedback

Submit feedback on a code review issue.

Parameters:

Name

Type

Required

Description

issue_id

string

Issue ID (e.g., iss_abc123)

action

string

One of: fixed, dismissed, false_positive

repo

string

Repository (owner/repo)

file

string

File path where issue was found

line

integer

Line number of the issue

pattern

string

For false_positive: pattern to skip in future

reason

string

Explanation for the feedback

Actions:

  • fixed — Issue was resolved (tracks time-to-fix metrics)

  • dismissed — Issue isn't important (lowers future priority)

  • false_positive — Not a real issue (adds pattern to memory)

Usage Examples

Login Flow

User: Log me into TuringMind

Claude: I'll start the authentication flow.

[Calls turingmind_initiate_login]

🧠 TuringMind Login Started

Step 1: Open this URL in your browser:
https://app.turingmind.ai/cli-auth?device_code=...

Step 2: Sign in with Google or GitHub

User: Done!

Claude: [Calls turingmind_poll_login with device_code]

✅ Login Successful!
API key has been saved to ~/.turingmind/config

Review with Upload

User: Review my code changes and upload to TuringMind

Claude: [Calls turingmind_validate_auth]
✅ TuringMind Authentication Valid
- Tier: team
- Quota: 495/500 reviews remaining

[Reviews code...]

[Calls turingmind_upload_review]
🧠 Review Uploaded to TuringMind
- Review ID: rev_abc123
- Issues: 3

False Positive Feedback

User: That SQL injection issue was a false positive, we use parameterized queries

Claude: [Calls turingmind_submit_feedback]
🚫 Feedback Submitted
Issue iss_abc123 has been marked as false positive.
Pattern saved: `db.query(sql, params)`
This pattern will be skipped in future reviews.

Configuration

Environment Variables

Variable

Description

Default

TURINGMIND_API_URL

API server URL

https://api.turingmind.ai

TURINGMIND_API_KEY

API key

Read from ~/.turingmind/config

TURINGMIND_DEBUG

Enable debug logging

0

Config File

API credentials are stored in ~/.turingmind/config:

export TURINGMIND_API_KEY=tmk_your_key_here
export TURINGMIND_API_URL=https://api.turingmind.ai

Claude Desktop with Custom API URL

{
  "mcpServers": {
    "turingmind": {
      "command": "turingmind-mcp",
      "env": {
        "TURINGMIND_API_URL": "https://api.turingmind.ai"
      }
    }
  }
}

Development

Setup

git clone https://github.com/turingmindai/turingmind-mcp.git
cd turingmind-mcp
pip install -e ".[dev]"

Run Locally

python -m turingmind_mcp.server

Test with MCP Inspector

npx @modelcontextprotocol/inspector turingmind-mcp

Run Tests

pytest

Lint & Format

ruff check .
black .
mypy src/

Troubleshooting

"TURINGMIND_API_KEY not configured"

Run the login flow in Claude, or set the environment variable:

export TURINGMIND_API_KEY=tmk_your_key_here

"Permission Denied"

API key lacks required permission. Re-run login to create a new key with proper permissions.

"Connection Error"

  1. Check that TURINGMIND_API_URL is correct

  2. Verify network connectivity

  3. For local development, ensure backend is running

Claude doesn't see the tools

  1. Verify turingmind-mcp is in your PATH: which turingmind-mcp

  2. Check Claude Desktop config is valid JSON

  3. Restart Claude Desktop completely (Cmd+Q / close from tray)

License

MIT — see LICENSE for details.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/turingmindai/turingmind-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server