https://github.com/wei/mymlh-mcp-server
Model Context Protocol Server for MyMLH API v4
https://github.com/wei/mymlh-mcp-server
cloudflare-worker mcp mcp-server mlh mymlh oauth
Last synced: 4 months ago
JSON representation
Model Context Protocol Server for MyMLH API v4
- Host: GitHub
- URL: https://github.com/wei/mymlh-mcp-server
- Owner: wei
- Created: 2025-09-06T05:02:25.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-11-28T22:00:36.000Z (7 months ago)
- Last Synced: 2025-12-01T00:48:29.862Z (7 months ago)
- Topics: cloudflare-worker, mcp, mcp-server, mlh, mymlh, oauth
- Language: TypeScript
- Homepage: https://mymlh-mcp.git.ci
- Size: 753 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README

[](https://modelcontextprotocol.io/docs/concepts/transports#http-streaming)
[](https://my.mlh.io/)
[](https://developers.cloudflare.com/workers/)
[](https://www.typescriptlang.org/)
[](https://hono.dev/)
[](https://wei.mit-license.org)
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) server that provides secure, OAuth-authenticated access to [MyMLH](https://my.mlh.io/). This server enables AI assistants and MCP clients to interact with the MyMLH API on behalf of users.
## Features
- **Secure Authentication**: Implements [MyMLH API v4 with OAuth](https://my.mlh.io/developers/docs) for robust and secure user authentication.
- **User Data Access**: Provides tools to fetch a user's MyMLH profile, education, employment history, and more.
- **Automatic Token Management**: Handles token refresh and secure storage automatically.
- **Cloudflare Workers**: Built to run on the edge for low-latency, scalable performance.
- **Easy Deployment**: Can be deployed to your own Cloudflare account in minutes.
## Quick Start
You can connect to our publicly hosted instance using any MCP client that supports the [Streamable HTTP transport with OAuth](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization).
**Endpoint**: `https://mymlh-mcp.git.ci/mcp`
### Add MCP Server
[](https://insiders.vscode.dev/redirect/mcp/install?name=mymlh&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmymlh-mcp.git.ci%2Fmcp%22%7D)
[](https://cursor.com/en/install-mcp?name=mymlh&config=eyJ1cmwiOiJodHRwczovL215bWxoLW1jcC5naXQuY2kvbWNwIn0%3D)
Example configuration snippets for common MCP clients:
**VS Code:**
```json
{
"servers": {
"mymlh": {
"type": "http",
"url": "https://mymlh-mcp.git.ci/mcp"
}
}
}
```
**Cursor and many clients:**
```json
{
"mcpServers": {
"mymlh": {
"url": "https://mymlh-mcp.git.ci/mcp"
}
}
}
```
**Windsurf and many clients:**
```json
{
"mcpServers": {
"mymlh": {
"serverUrl": "https://mymlh-mcp.git.ci/mcp"
}
}
}
```
**Augment Code:**
```json
{
"mcpServers": {
"mymlh": {
"url": "https://mymlh-mcp.git.ci/mcp",
"type": "http"
}
}
}
```
**Claude Code:**
```sh
claude mcp add --transport http mymlh https://mymlh-mcp.git.ci/mcp
```
**Gemini CLI:**
_Gemini currently only supports the deprecated SSE protocol._
```json
{
"mcpServers": {
"mymlh": {
"url": "https://mymlh-mcp.git.ci/sse"
}
}
}
```
**Roo Code, Cline, KiloCode:**
Although these clients support Streamable HTTP transport, they do not yet support the OAuth authentication flow. Please use the fallback option below. See open feature requests for [Roo Code](https://github.com/RooCodeInc/Roo-Code/issues/7296), [Cline](https://github.com/cline/cline/issues/4523).
For other clients, please consult their documentation for connecting to an MCP server. If you see 401 errors, the client likely does not support [Streamable HTTP with OAuth](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization) and you will need to use the fallback option below.
### Fallback Option
For environments where Streamable HTTP with OAuth is not supported, you may fall back to stdio transport with [`mcp-remote`](https://www.npmjs.com/package/mcp-remote). This wraps the HTTP MCP server into a local stdio interface, forwarding requests over HTTP behind the scenes to ensure compatibility.
Example `mcp-remote` configuration snippet:
```json
{
"mcpServers": {
"mymlh": {
"command": "npx",
"args": [
"mcp-remote",
"https://mymlh-mcp.git.ci/mcp"
]
}
}
}
```
See [`mcp-remote` documentation](https://www.npmjs.com/package/mcp-remote#usage) for more details on usage.
## Available Tools
Once connected and authenticated, you can use the following tools:
| Tool | Description |
| ------------------------- | ------------------------------------------------------------------ |
| `mymlh_get_user` | Fetch current MyMLH user profile |
| `mymlh_get_token` | Return current MyMLH access token details |
| `mymlh_refresh_token` | Exchange MyMLH refresh_token for a new access token and persist it |
### Test with MCP Inspector
You can test the remote MCP server using the [Model Context Protocol Inspector](https://modelcontextprotocol.io/docs/tools/inspector).
1. Run the Inspector from your terminal:
```bash
npx @modelcontextprotocol/inspector@latest
```
2. Enter the server URL: `https://mymlh-mcp.git.ci/mcp` and click "Connect".
3. Follow the authentication flow to connect and test the tools.
### Testing with Cloudflare AI Playground
You can also test the server directly using the [Cloudflare Workers AI LLM Playground](https://playground.ai.cloudflare.com/).
1. Go to the playground link.
2. Enter the server URL: `https://mymlh-mcp.git.ci/mcp`
3. Follow the authentication flow to connect and test the tools.
### Example Usage
You can interact with the MyMLH MCP server using natural language in your AI assistant:
- "Get my MyMLH user info."
- "Show me my MyMLH profile."
- "Generate a resume using my MyMLH profile."
- "Create a GitHub profile README using my MyMLH data."
## Deploying Your Own Instance
For full control, you can deploy your own instance to Cloudflare. See the [Deployment Guide](DEPLOYMENT.md) for detailed instructions.
## Contributing
We welcome contributions! Whether you're fixing a bug, adding a feature, or improving documentation, your help is appreciated.
For development setup, project structure, how to add tools, and contributing guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
## License
[MIT](https://wei.mit-license.org)