MCP server for Nerdearla
Project description
Nerdearla MCP Server
🚀 Live Server: The server is running at https://mcp.nerdear.la/mcp
An MCP (Model Context Protocol) server that provides information about Nerdearla events, speakers, and sessions. Built with FastMCP and supports streamable HTTP in stateless mode with JSON responses.
Quick Start - Add to VS Code Copilot
To use this MCP server with VS Code Copilot:
- Open the command palette in VS Code (
Cmd+Shift+P/Ctrl+Shift+P) - Type "MCP: Add Server" and select it
- Select "HTTP" as the server type
- Enter the server URL:
https://mcp.nerdear.la/mcp - Give it a name, any name is fine
- Select if you want to save it in your user or workspace settings
You can now ask Copilot about Nerdearla events, speakers, and sessions!
Quick Start - Add to your favourite Agent/IDE
Most Agents/IDEs support MCP servers out of the box. Check your documentation for instructions on how to add a new server.
Local Developtment Setup
This project uses uv for dependency management. Make sure you have uv installed:
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
Then install the project dependencies:
# Clone and navigate to the repository
cd nerdearla-mcp
# Install dependencies with uv
uv sync
Usage
Running the Server
Start the MCP server:
# Using uv
uv run nerdearla-mcp
# Or directly with Python
uv run python -m nerdearla_mcp.server
The server will start on http://localhost:8000/mcp by default.
Development
Project Structure
nerdearla-mcp/
├── nerdearla_mcp/
│ ├── __init__.py
│ └── server.py # Main MCP server implementation
├── pyproject.toml # Project configuration and dependencies
├── README.md # This file
└── ...
Adding New Tools
To add new tools to the server:
- Define your tool function in
nerdearla_mcp/server.py - Use the
@mcp.tool()decorator - Add proper type hints and docstrings
- Implement the tool to retrieve the data from an API, file or database as needed
Example:
@mcp.tool()
def get_sponsors(tier: Optional[str] = None) -> List[Dict[str, Any]]:
"""
Get information about event sponsors.
Args:
tier: Optional filter by sponsor tier (e.g., "Gold", "Silver", "Bronze")
Returns:
List of sponsor information
"""
# Implementation here
pass
Running Tests
# Run tests with pytest
uv run pytest
Code Formatting
Pre-commit Hooks (Recommended)
This project uses pre-commit hooks to automatically format and lint code before commits:
Install pre-commit hooks:
# Install dependencies (includes pre-commit)
uv sync
# Install the git hooks
uv run pre-commit install
Usage:
- Hooks run automatically on
git commit - To run manually on all files:
uv run pre-commit run --all-files - To skip hooks for a commit:
git commit --no-verify
The hooks will automatically:
- Format code with Black
- Lint and fix issues with Ruff
- Format code with Ruff formatter
Configuration
Port Configuration
The server runs on port 8000 by default. You can configure the port using environment variables:
Environment Variable:
export PORT=3000
uv run nerdearla-mcp
Using .env file:
Create a .env file in the project root:
PORT=3000
Priority order:
- Environment variable
PORT .envfile- Default: 8000
Server Configuration
The server uses streamable HTTP transport with the following default settings:
- Host:
0.0.0.0(accepts connections from any IP) - Port: as described above
- Path:
/mcp(API endpoint) - Transport:
streamable-http - Mode:
stateless_http=True
Contributing
- Fork the repository
- Make your changes
- Add tests if applicable
- Run the linter and formatter
- Submit a pull request
License
See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_sysarmy_nerdearla_mcp-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_sysarmy_nerdearla_mcp-0.1.0.tar.gz
- Upload date:
- Size: 83.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbf1e86111cb4a9e2d9ebf11f277ef4baa01c4ffaf47cdd8d23a7421a0019452
|
|
| MD5 |
91685039e359be871a451882589e1c49
|
|
| BLAKE2b-256 |
008fffe8289eac6d3c6a8e4c0c09c331aaaf6f13f104be4139b0d476ac1cc893
|
File details
Details for the file iflow_mcp_sysarmy_nerdearla_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_sysarmy_nerdearla_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0522caf4481d0dc9b1352de054151fe58f6236697055916efa09678bdf18eea
|
|
| MD5 |
b40968c4348442074aeffabc0e95f5a8
|
|
| BLAKE2b-256 |
5c8e276a44e3fb59a6d80ab14de589f4d30a2b413c33bb0770dbaf1686de4947
|