Skip to main content
This document provides setup instructions for various IDEs and AI coding assistants when working on the MCP Server with LangGraph project.

General Notes

IDE-Specific Configuration Files: As of v2.0.0, IDE-specific configuration directories (.ai/, .openai/, .cursor/, .claude/, .vscode/) are gitignored to prevent merge conflicts and keep the repository clean. You’ll need to create these directories locally based on your preferences.

Visual Studio Code

Create .vscode/extensions.json:

Python Settings

Create .vscode/settings.json:

Debug Configurations

Create .vscode/launch.json:

Tasks

Create .vscode/tasks.json:

Claude Code / Claude Desktop

Configuration

Create .claude/settings.local.json:

Guidance Files

The project includes comprehensive AI assistant guidance:
  • .github/CLAUDE.md - Complete guide for Claude Code
  • .github/AGENTS.md - Extended guide with more examples
These files are version-controlled and provide:
  • Project architecture overview
  • Development patterns
  • Common commands
  • Testing strategy
  • Security requirements

Cursor

MCP Configuration

Create .cursor/mcp.json (Cursor supports ${workspaceFolder} variables):
Note: The .cursor/ directory is gitignored, so you need to create this configuration locally.

Settings

Cursor will use the VS Code settings above, but you can override: Create .cursor/settings.json:

GitHub Copilot Workspace

Instructions

Create .github/copilot-instructions.md:

AI Coding Assistants (.ai/)

General AI Tools Configuration

Create .../../README.md:
Create .ai/prompts.md with your custom prompts for reuse.

OpenAI Codex

Configuration

Create .openai/code-completion-config.json:
Create .openai/codex-instructions.md referencing .github/AGENTS.md for detailed project guidance.

MCP Server Configuration

All MCP-compatible IDEs can use the MCP server configuration.

MCP Manifest

The project includes .mcp/manifest.json and .mcp/registry.json for MCP registry publication. These are version-controlled.

Client Configuration

Quick Setup
The project includes .mcp.json.example as a template. To set it up:
Note: .mcp.json is gitignored (user-specific configuration). Each developer needs to create their own based on where they cloned the repository.
Manual Configuration
For Claude Desktop or other MCP clients, add to your client config:
Important: Replace /absolute/path/to/project with your actual project directory. For example:
  • Linux/macOS: /home/username/projects/mcp-server-langgraph
  • Windows: C:/Users/username/projects/mcp-server-langgraph

PyCharm / IntelliJ IDEA

Project Interpreter

  1. File → Settings → Project → Python Interpreter
  2. Click gear → Add → Existing Environment
  3. Select .venv/bin/python

Code Style

  1. File → Settings → Editor → Code Style → Python
  2. Set “Hard wrap at” to 127
  3. Import pyproject.toml settings if supported (PyCharm 2023.3+)

Run Configurations

Create run configurations for:
  • pytest (unit): Target = tests/, Additional args = -m unit -v
  • pytest (all): Target = tests/, Additional args = -v
  • MCP Server: Script path = src/mcp_server_langgraph/mcp/server_stdio.py

External Tools

Add Make commands as external tools:
  • File → Settings → Tools → External Tools
  • Add: make test, make lint, make format, etc.

General Best Practices

Virtual Environment

Preferred approach: Use uv run to run commands without manual activation:
Alternative: Activate the virtual environment manually (if running multiple commands):
IDEs can use .venv/bin/python directly without requiring manual activation. Set your IDE’s Python interpreter to .venv/bin/python and it will use the virtual environment automatically.

Environment Variables

Copy .env.example to .env and configure:
Never commit .env - it’s gitignored for security.

Pre-commit Hooks

Install pre-commit hooks:
This ensures:
  • Code is formatted (black, isort)
  • Linting passes (flake8)
  • Security scan (bandit)
  • Tests run before commit (optional)

Troubleshooting

Import Errors

If imports fail:
  1. Ensure virtual environment is activated
  2. Check PYTHONPATH includes src/:
  3. Reinstall dependencies:

IDE Not Finding Modules

  • VS Code: Set python.defaultInterpreterPath to .venv/bin/python
  • PyCharm: Configure project interpreter to .venv/bin/python
  • All IDEs: Mark src/ as sources root

Tests Not Running

  1. Ensure pytest is installed: uv sync
  2. Check test markers are registered: pytest --markers
  3. Verify conftest.py is found: pytest --collect-only

Contributing

When adding IDE configurations:
  1. Do NOT commit user-specific settings to .vscode/, .cursor/, etc.
  2. Do commit recommendations in this file
  3. Do add examples for new IDE setup
  4. Do update this guide if project structure changes
See ../../.github/CONTRIBUTING.md for contribution guidelines.

References

  • Project Documentation: do../../README.md
  • AI Assistant Guidance: .github/CLAUDE.md, .github/AGENTS.md
  • Development Guide: docs/development/development.md
  • Testing Guide: docs/development/testing.md
Last Updated: 2025-10-12