mcp-userinfo

batteryshark/mcp-userinfo

3.2

If you are the rightful owner of mcp-userinfo 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.

A simple MCP server for user information management using FastMCP.

Tools
2
Resources
0
Prompts
0

User Info MCP Server

A simple MCP (Model Context Protocol) server that provides user information management through tool calls. Built with FastMCP for efficient context sharing.

Features

  • Static Mode: Returns pre-configured user information from user_info.txt
  • Dynamic Mode: Allows session-based user info storage when USER_MANAGED=true
  • Multiple Transports: Supports both stdio and HTTP communication
  • Date Integration: Automatically includes current date in responses

Quick Start

Installation

# Clone or download the project
cd mcp-userinfo

# Install dependencies
uv sync

Running the Server

# Static mode (default)
uv run python server.py

# Dynamic mode with user management
USER_MANAGED=true uv run python server.py

# HTTP mode
PORT=8000 uv run python server.py

Available Tools

Always Available

  • get_user_info(): Returns user information with current date header

Dynamic Mode Only (USER_MANAGED=true)

  • put_user_info(info: str): Store user info for the current session (overwrites existing)

Configuration

Static Mode

Edit user_info.txt in the project root to customize the default user information:

Name: Your Name
Company: Your Company
Location: Your Location
Role: Your Role

Interests:
- Interest 1
- Interest 2

Professional Skills:
- Skill 1
- Skill 2

Environment Variables

VariableDescriptionDefault
USER_MANAGEDEnable dynamic user info storagefalse
USER_INFO_PATHCustom path to user info fileuser_info.txt
HOSTHTTP server host127.0.0.1
PORTHTTP server port (enables HTTP transport)-

MCP Client Configuration

VS Code / Cursor (stdio)

Add to .vscode/mcp.json or .cursor/mcp.json:

{
  "mcpServers": {
    "userInfoServer": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "/path/to/mcp-userinfo"
    }
  }
}

With Dynamic Mode

{
  "mcpServers": {
    "userInfoServer": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "/path/to/mcp-userinfo",
      "env": {
        "USER_MANAGED": "true",
        "USER_INFO_PATH": "~/Documents/my_profile.txt"
      }
    }
  }
}

HTTP Transport

{
  "mcpServers": {
    "userInfoServer": {
      "type": "http",
      "url": "https://your-domain.com/mcp/"
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "userInfoServer": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "/path/to/mcp-userinfo"
    }
  }
}

Usage Examples

Getting User Info

# The tool automatically includes current date
user_info = await get_user_info()
# Returns: "=== CURRENT DATE: 2024-01-15 ===\nUSE THIS DATE FOR ALL CALCULATIONS\n\n[your user info]"

Storing User Info (Dynamic Mode)

await put_user_info("""
Name: John Doe
Company: Tech Corp
Location: San Francisco, CA
Role: Software Engineer

Interests:
- Python development
- Machine learning
- Open source
""")

Project Structure

mcp-userinfo/
ā”œā”€ā”€ server.py          # Main MCP server implementation
ā”œā”€ā”€ user_info.txt      # Static user information file
ā”œā”€ā”€ pyproject.toml     # Project configuration
└── README.md         # This file

Dependencies

  • fastmcp>=2.11.3 - MCP server framework
  • uv - Python package manager (for running)

Notes

  • In dynamic mode, user information is stored in memory and persists only for the current session
  • The current date is automatically included in all responses and should be trusted for calculations
  • Static mode falls back to a default message if user_info.txt doesn't exist