We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/imdinu/jxa-mail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
[project]
name = "jxa-mail-mcp"
version = "0.4.0"
description = "Fast MCP server for Apple Mail with FTS5 search index"
readme = "README.md"
license = "GPL-3.0-or-later"
requires-python = ">=3.13"
authors = [
{ name = "Ioan-Mihail Dinu", email = "iodinu@icloud.com" },
]
keywords = [
"mcp",
"apple-mail",
"jxa",
"automation",
"macos",
"email",
"model-context-protocol",
]
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: MacOS X",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: MacOS",
"Programming Language :: JavaScript",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.13",
"Topic :: Communications :: Email",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"fastmcp>=3.0.0b1,<4",
"cyclopts>=5.0.0a1",
"beautifulsoup4>=4.12",
]
[project.urls]
Homepage = "https://github.com/imdinu/jxa-mail-mcp"
Repository = "https://github.com/imdinu/jxa-mail-mcp"
Issues = "https://github.com/imdinu/jxa-mail-mcp/issues"
[project.scripts]
jxa-mail-mcp = "jxa_mail_mcp:main"
[tool.hatch.build.targets.wheel]
packages = ["src/jxa_mail_mcp"]
[tool.hatch.build.targets.sdist]
include = ["src/"]
[tool.hatch.build]
# Include .js files in the package
artifacts = ["src/**/*.js"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[dependency-groups]
dev = [
"ruff>=0.14.8",
"pytest>=8.0",
"pytest-cov>=6.0",
"pytest-asyncio>=0.24",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.ruff]
target-version = "py313"
line-length = 80
src = ["src"]
[tool.ruff.lint]
select = [
"ASYNC",
"B",
"E",
"F",
"I",
"RUF",
"UP",
"W",
]
ignore = [
"ASYNC109", # Timeout parameter pattern is cleaner API for our use case
]
[tool.ruff.format]
docstring-code-format = true