me_mcp_server
jhgaylor/me_mcp_serverUpdated Apr 2000

Remote#MCP server#docker#transport mechanismsLicense: NoneLanguage: Dart

Me MCP Server

A MCP (Model Context Protocol) server for learning about and interacting with YOU.

Features

This MCP server provides the following capabilities:

Prompts

  • JobSearch - Generate job search instructions tailored to your profile with specified salary range, location, and company type preferences.

Resources

  • Resume Text - Access your full resume text (candidate-info://resume)
  • Resume URL - Get the URL to your resume PDF (candidate-info://resume-url)
  • LinkedIn Profile URL - Access your LinkedIn profile (candidate-info://linkedin-url)
  • Website URL - Get your personal website URL (candidate-info://website-url)
  • Website Contents - Fetch and analyze the HTML contents of your website (candidate-info://website-contents)

Running the server

Using Docker

The easiest way to run the server is using Docker Compose:

docker-compose up -d

This will start the server on port 3000.

Transport Options

This MCP server supports two different transport mechanisms:

SSE (Server-Sent Events) Transport

The SSE transport allows the server to communicate over HTTP with clients that support server-sent events. This is useful for web-based clients or any client that can establish an HTTP connection.

To run the server with SSE transport:

dart bin/sse_server.dart

The SSE server will start on the configured host and port (default: 0.0.0.0:3000).

Stdio Transport

The Stdio transport uses standard input/output streams for communication. This is ideal for integration with desktop clients like Claude Desktop that launch the MCP server as a subprocess.

To run the server with Stdio transport:

dart bin/stdio_server.dart

Configuring Claude Desktop

To use the MCP server with Claude Desktop, add the following to your Claude configuration:

{
  "mcpServers": {
    "me_mcp": {
      "command": "dart",
      "args": [
        "path/to/bin/stdio_server.dart"
      ]
    }
  }
}

Alternatively, you can compile the server to a standalone executable:

dart compile exe bin/stdio_server.dart -o ./mcp_server

And then configure Claude Desktop to use the compiled version:

{
  "mcpServers": {
    "me_mcp": {
      "command": "path/to/mcp_server"
    }
  }
}

Environment Variables

You can customize the server by setting environment variables in several ways:

  1. Using a .env file (recommended for local development):

    cp .env.example .env
    # Edit .env with your preferred values
    

    The server automatically loads the .env file when it starts.

  2. Using Docker Compose: Modify the environment section in docker-compose.yml.

  3. Using system environment variables: Set environment variables directly in your shell or deployment platform.

The application uses the following precedence for environment variables:

  1. Directly passed values (when instantiating Config manually)
  2. Values from .env file
  3. System environment variables (automatically included)
  4. Default values

Running Locally

To run the server locally:

  1. Ensure you have Dart SDK 3.7.2 or later installed
  2. Install dependencies: dart pub get
  3. Set up your configuration (optional):
    cp .env.example .env
    # Edit .env with your preferred values
    
  4. Run the server with your preferred transport:
    • SSE: dart bin/sse_server.dart
    • Stdio: dart bin/stdio_server.dart

Configuration Options

VariableDescriptionDefault
HOSTHost address to bind to0.0.0.0
PORTPort to listen on3000
ENVIRONMENTEnvironment (development, production)development
PROFILE_NAMEYour profile/candidate nameJane Smith
ENV_VAR_FILE_PATHCustom path to .env file.env
RESUME_URLURL to the resumehttps://example.com/resume.pdf
LINKEDIN_URLURL to LinkedIn profilehttps://linkedin.com/in/example
WEBSITE_URLURL to personal websitehttps://example.com
RESUME_TEXTFull text content of the resumeDefault resume text in config.dart
MIN_SALARYMinimum salary for job search100000
MAX_SALARYMaximum salary for job search500000
JOB_LOCATIONPreferred job locationRemote
COMPANY_TYPEPreferred company typeStartup
SERVER_NAMEName of the MCP serverme-mcp-server
SERVER_VERSIONVersion of the MCP server1.0.0

Development

Building the Docker Image

docker build -t jhgaylor/me-mcp-server:local .

Running the Docker Image

docker run -p 3000:3000 -e PORT=3000 jhgaylor/me-mcp-server:local

Docker and Environment Variables

When using Docker, you have several options for configuring environment variables:

  1. Using docker-compose.yml:

    environment:
      - VARIABLE_NAME=value
    
  2. Using an env_file in docker-compose.yml:

    env_file:
      - .env
    
  3. Using -e when running with docker run:

    docker run -p 3000:3000 -e MIN_SALARY=250000 -e MAX_SALARY=350000 jhgaylor/me-mcp-server:main
    
  4. Using --env-file with docker run:

    docker run -p 3000:3000 --env-file .env jhgaylor/me-mcp-server:main
    

Deployment Examples

Deploying to a Custom Domain

You can deploy this MCP server to your own domain. Here's an example of a deployment that runs at mcp.jakegaylor.com:

Installation

Claude
Claude
Cursor
Cursor
Windsurf
Windsurf
Cline
Cline
Witsy
Witsy
Spin AI
Spin AI
Run locally with the following command:
Terminal
Add the following config to your client:
JSON
{
  "mcpServers": {
    "me_mcp": {
      "env": {},
      "args": [
        "path/to/bin/stdio_server.dart"
      ],
      "command": "dart"
    }
  }
}

MCPLink

Seamless access to top MCP servers powering the future of AI integration.

© 2025 MCPLink. All rights reserved.
discordgithubdiscord
jhgaylor/me_mcp_server - MCP Server | MCPLink