mcpField
H
HTTP Server with MCP Support

HTTP Server with MCP Support

Local
github.com/jhgaylorDeveloper Tools3Updated 78w ago

About HTTP Server with MCP Support

An Express and TypeScript HTTP server example that serves a webpage and candidate information. It is intended for developers adapting a candidate-data server, with stateless MCP support over Streamable HTTP.

Key features

  1. 01Webpage and MCP endpoint
  2. 02Stateless Streamable HTTP transport
  3. 03Candidate details configurable by environment variables
  4. 04Express and TypeScript implementation

Use cases

  1. 01Serving candidate details to MCP clients
  2. 02Customizing contact, resume, and profile links
  3. 03Developing an HTTP and MCP server example

MCP support

Exposes a stateless MCP endpoint using Streamable HTTP, alongside its webpage. Candidate information is configurable through environment variables or `src/config.ts`.

Configuration

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

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

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

HTTP Server with MCP Support

An HTTP server built with Express and TypeScript that serves both a webpage and a Model Context Protocol (MCP) endpoint.

Features

  • HTTP server with both web and MCP functionality
  • Stateless MCP server implementation with modern Streamable HTTP transport
  • TypeScript for type safety
  • Express.js for HTTP handling

Requirements

  • Node.js 18+
  • npm or yarn

Installation

# Clone the repository (or download)
git clone https://github.com/your-username/example-candidate-mcp-server.git
cd example-candidate-mcp-server

# Install dependencies
npm install

# Start the http transport
npm run start:web

# Start the stdio transport
npm run start

Customizing the candidate data

To customize the candidate data, you can set the following environment variables in your environment or in a .env file at the root of your project:

  • CONTACT_EMAIL: The contact email address for the server.
  • MAILGUN_API_KEY: The API key for Mailgun, used for sending emails.
  • MAILGUN_DOMAIN: The domain for Mailgun, used for sending emails.
  • CANDIDATE_NAME: The name of the candidate.
  • RESUME_URL: The URL to the candidate's resume in PDF format.
  • LINKEDIN_URL: The URL to the candidate's LinkedIn profile.
  • GITHUB_URL: The URL to the candidate's GitHub profile.
  • WEBSITE_URL: The URL to the candidate's personal website.

These variables are used to configure the server and customize the candidate's information that is served by the MCP server. Make sure to restart the server after making changes to these variables for them to take effect.

You can also update them directly in src/config.ts.

Development

# Build the TypeScript code
npm run build

# Run in development mode with auto-reloading
npm run dev

# Run tests (when added)
npm test

Server Structure

src/
  ├── index.ts                # Main application entry point
  ├── express.ts              # HTTP server configuration
  ├── stdio.ts                # STDIO server configuration
  ├── config.ts               # Server configuration
  └── types.ts                # TypeScript type definitions

License

ISC

Regenerating the fly deploy key

The token was made with:

fly tokens create deploy --name gh-jakegaylor-com-mcp-server --expiry 2160h

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.