A MCP (Model Context Protocol) server for learning about and interacting with YOU.
This MCP server provides the following capabilities:
candidate-info://resume
)candidate-info://resume-url
)candidate-info://linkedin-url
)candidate-info://website-url
)candidate-info://website-contents
)The easiest way to run the server is using Docker Compose:
docker-compose up -d
This will start the server on port 3000.
This MCP server supports two different transport mechanisms:
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).
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
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"
}
}
}
You can customize the server by setting environment variables in several ways:
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.
Using Docker Compose:
Modify the environment
section in docker-compose.yml
.
Using system environment variables: Set environment variables directly in your shell or deployment platform.
The application uses the following precedence for environment variables:
To run the server locally:
dart pub get
cp .env.example .env
# Edit .env with your preferred values
dart bin/sse_server.dart
dart bin/stdio_server.dart
Variable | Description | Default |
---|---|---|
HOST | Host address to bind to | 0.0.0.0 |
PORT | Port to listen on | 3000 |
ENVIRONMENT | Environment (development, production) | development |
PROFILE_NAME | Your profile/candidate name | Jane Smith |
ENV_VAR_FILE_PATH | Custom path to .env file | .env |
RESUME_URL | URL to the resume | https://example.com/resume.pdf |
LINKEDIN_URL | URL to LinkedIn profile | https://linkedin.com/in/example |
WEBSITE_URL | URL to personal website | https://example.com |
RESUME_TEXT | Full text content of the resume | Default resume text in config.dart |
MIN_SALARY | Minimum salary for job search | 100000 |
MAX_SALARY | Maximum salary for job search | 500000 |
JOB_LOCATION | Preferred job location | Remote |
COMPANY_TYPE | Preferred company type | Startup |
SERVER_NAME | Name of the MCP server | me-mcp-server |
SERVER_VERSION | Version of the MCP server | 1.0.0 |
docker build -t jhgaylor/me-mcp-server:local .
docker run -p 3000:3000 -e PORT=3000 jhgaylor/me-mcp-server:local
When using Docker, you have several options for configuring environment variables:
Using docker-compose.yml:
environment:
- VARIABLE_NAME=value
Using an env_file in docker-compose.yml:
env_file:
- .env
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
Using --env-file with docker run:
docker run -p 3000:3000 --env-file .env jhgaylor/me-mcp-server:main
You can deploy this MCP server to your own domain. Here's an example of a deployment that runs at mcp.jakegaylor.com
:
{
"mcpServers": {
"me_mcp": {
"env": {},
"args": [
"path/to/bin/stdio_server.dart"
],
"command": "dart"
}
}
}
Seamless access to top MCP servers powering the future of AI integration.