Skip to main content
Glama

User Info MCP Server

by batteryshark
README.md3.89 kB
# 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 ```bash # Clone or download the project cd mcp-userinfo # Install dependencies uv sync ``` ### Running the Server ```bash # 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: ```txt 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 | Variable | Description | Default | |----------|-------------|---------| | `USER_MANAGED` | Enable dynamic user info storage | `false` | | `USER_INFO_PATH` | Custom path to user info file | `user_info.txt` | | `HOST` | HTTP server host | `127.0.0.1` | | `PORT` | HTTP server port (enables HTTP transport) | - | ## MCP Client Configuration ### VS Code / Cursor (stdio) Add to `.vscode/mcp.json` or `.cursor/mcp.json`: ```json { "mcpServers": { "userInfoServer": { "type": "stdio", "command": "uv", "args": ["run", "python", "server.py"], "cwd": "/path/to/mcp-userinfo" } } } ``` ### With Dynamic Mode ```json { "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 ```json { "mcpServers": { "userInfoServer": { "type": "http", "url": "https://your-domain.com/mcp/" } } } ``` ### Claude Desktop Add to `claude_desktop_config.json`: ```json { "mcpServers": { "userInfoServer": { "type": "stdio", "command": "uv", "args": ["run", "python", "server.py"], "cwd": "/path/to/mcp-userinfo" } } } ``` ## Usage Examples ### Getting User Info ```python # 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) ```python 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

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/batteryshark/mcp-userinfo'

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