mcpField
M
Me MCP Server

Me MCP Server

Local
github.com/jhgaylorBusiness & Marketing1Updated 80w ago

About Me MCP Server

A Dart MCP server for individuals who want an AI client to access their profile and resume information. It provides personal details as resources and offers a job-search prompt tailored to configured preferences.

Key features

  1. 01Resume text and PDF URL resources
  2. 02LinkedIn, GitHub, and website URLs
  3. 03Website HTML retrieval
  4. 04Profile-based job-search prompt
  5. 05YAML personal and job preferences

Use cases

  1. 01Prepare job-search instructions from salary and location preferences
  2. 02Provide a client with resume and profile links
  3. 03Retrieve personal website content for analysis

MCP support

Exposes resume and profile information as MCP resources, plus a JobSearch prompt. Supports SSE over HTTP and stdio transports for MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"me_mcp_server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
Run commanddocker run -i --rm build

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocibuild

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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)
  • GitHub Profile URL - Access your GitHub profile (candidate-info://github-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"
    }
  }
}

Configuration

The server uses a hybrid configuration approach:

  1. Server settings - Configured using environment variables
  2. Personal information - Configured using a me.yaml file
Environment Variables

Server-related settings are configured through environment variables:

VariableDescriptionDefault
HOSTHost address to bind to0.0.0.0
PORTPort to listen on3000
ENVIRONMENTEnvironment (development, production)development
YAML Configuration

Personal information and job search preferences are configured through the me.yaml file.

Initializing Configuration

To create a default configuration file:

dart bin/me_init.dart [path]

This will generate a me.yaml file (or at the specified path) with default values that you can edit.

Example Configuration
# Personal information
name: Jake Gaylor
resume_url: https://example.com/resume.pdf
website_url: https://jakegaylor.com
linkedin_url: https://linkedin.com/in/jakegaylor
github_url: https://github.com/jhgaylor

# Optional content (can be loaded from URLs above if not specified)
resume_text: |
  Jake Gaylor
  Software Engineer

  Experience:
  - Example Company (2020-Present)
    Senior Software Engineer
  
  Skills:
  - Dart, JavaScript, TypeScript
  - Cloud Infrastructure

website_text: ""  # Will be fetched from website_url if empty

# Job search preferences
job_search:
  min_salary: 150000
  max_salary: 250000
  location: Remote
  company_type: Startup
  industry: Technology
  description: "Looking for senior engineering roles with focus on cloud infrastructure"
YAML Configuration Options
SectionOptionDescriptionDefault
-nameYour profile/candidate nameJane Smith
-resume_urlURL to the resumehttps://example.com/resume.pdf
-linkedin_urlURL to LinkedIn profilehttps://linkedin.com/in/example
-github_urlURL to GitHub profilehttps://github.com/example
-website_urlURL to personal websitehttps://example.com
-resume_textFull text content of the resumeAn empty resume.
job_searchmin_salaryMinimum salary for job search100000
job_searchmax_salaryMaximum salary for job search500000
job_searchlocationPreferred job locationRemote
job_searchcompany_typePreferred company typeStartup
job_searchindustryPreferred industryTechnology
job_searchdescriptionAdditional job search details""
Type-Safe Configuration (For Developers)

The YAML configuration is parsed into strongly-typed Dart objects:

import 'package:me_mcp_server/me_mcp_server.dart';

// Create a configuration programmatically
final config = MeConfig(
  name: 'Jane Smith',
  resumeUrl: 'https://example.com/resume.pdf',
  jobSearch: JobSearchConfig(
    minSalary: 150000,
    maxSalary: 250000,
    location: 'Remote',
  ),
);

// Convert to YAML
final yamlString = configToYaml(config);
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. Create a me.yaml file in the root directory with your configuration
    dart bin/me_init.dart
    
  4. Set any environment variables as needed
  5. Run the server with your preferred transport:
    • SSE: dart bin/sse_server.dart
    • Stdio: dart bin/stdio_server.dart

Development

Building the Docker Image
docker build -t jhgaylor/me-mcp-server:local .
Running the Docker Image
docker run -p 3000:3000 \
  -v $(pwd)/me.yaml:/app/me.yaml \
  -e PORT=3000 \
  -e ENVIRONMENT=production \
  jhgaylor/me-mcp-server:local

Docker Configuration

When using Docker, you can:

  1. Mount your me.yaml file:

    -v $(pwd)/me.yaml:/app/me.yaml
    
  2. Set environment variables:

    -e HOST=0.0.0.0 -e PORT=3000 -e ENVIRONMENT=production
    
  3. Use docker-compose.yml:

    services:
      mcp-server:
        volumes:
          - ./me.yaml:/app/me.yaml
        environment:
          - HOST=0.0.0.0
          - PORT=3000
          - ENVIRONMENT=production
    

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:

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.