Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [] - $(date +%Y-%m-%d)
Copy link

Copilot AI Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changelog entry has an empty version number in brackets and uses a shell command $(date +%Y-%m-%d) that won't be executed in markdown. This should be replaced with the actual version number '1.2.0' and a proper date format.

Suggested change
## [] - $(date +%Y-%m-%d)
## [1.2.0] - 2024-06-10

Copilot uses AI. Check for mistakes.





### Added
- Comprehensive security scanning infrastructure
Expand Down
108 changes: 67 additions & 41 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
[build-system]
requires = ["setuptools>=61.0", "wheel"]
requires = [
"setuptools>=61.0",
"wheel",
]
build-backend = "setuptools.build_meta"

[project]
name = "markitdown-mcp"
version = "1.1.0"
version = "1.2.0"
description = "A Model Context Protocol server for converting documents to Markdown using MarkItDown"
authors = [
{name = "MarkItDown MCP", email = "noreply@example.com"}
{ name = "MarkItDown MCP", email = "noreply@example.com" },
]
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
classifiers = [
"Development Status :: 4 - Beta",
Expand All @@ -23,8 +25,13 @@ classifiers = [
"Topic :: Text Processing :: Markup :: Markdown",
"Topic :: Software Development :: Libraries :: Python Modules",
]
keywords = ["mcp", "markitdown", "markdown", "document-conversion", "model-context-protocol"]

keywords = [
"mcp",
"markitdown",
"markdown",
"document-conversion",
"model-context-protocol",
]
dependencies = [
"markitdown>=0.1.0",
"pypdf>=3.17.0",
Expand All @@ -35,6 +42,9 @@ dependencies = [
"python-dotenv>=1.0.0",
]

[project.license]
text = "MIT"

[project.optional-dependencies]
all = [
"markitdown[all]>=0.1.0",
Expand Down Expand Up @@ -89,63 +99,79 @@ Issues = "https://github.com/trsdn/markitdown-mcp/issues"
markitdown-mcp = "markitdown_mcp.server:main"

[tool.setuptools.packages.find]
where = ["."]
include = ["markitdown_mcp*"]
where = [
".",
]
include = [
"markitdown_mcp*",
]

[tool.setuptools.package-data]
markitdown_mcp = ["*.json"]
markitdown_mcp = [
"*.json",
]

[tool.black]
line-length = 100
target-version = ['py38']
target-version = [
"py38",
]

[tool.isort]
profile = "black"
line_length = 100

[tool.ruff]
# Ruff configuration for markitdown-mcp
target-version = "py310"
line-length = 100

[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"UP", # pyupgrade
"ARG", # flake8-unused-arguments
"SIM", # flake8-simplify
"TCH", # flake8-type-checking
"DTZ", # flake8-datetimez
"ERA", # eradicate
"PTH", # flake8-use-pathlib
"RSE", # flake8-raise
"RET", # flake8-return
"RUF", # Ruff-specific rules
"S", # bandit security checks
"N", # pep8-naming
"PIE", # flake8-pie
"PT", # flake8-pytest-style
"E",
"W",
"F",
"I",
"B",
"C4",
"UP",
"ARG",
"SIM",
"TCH",
"DTZ",
"ERA",
"PTH",
"RSE",
"RET",
"RUF",
"S",
"N",
"PIE",
"PT",
]
ignore = [
"E501", # line too long (handled by formatter)
"B008", # do not perform function calls in argument defaults
"C901", # too complex
"S101", # assert used (common in tests)
"S603", # subprocess without shell=True is ok
"S607", # start process with partial path is ok
"E501",
"B008",
"C901",
"S101",
"S603",
"S607",
]

[tool.ruff.lint.per-file-ignores]
"tests/*" = ["S101", "ARG001", "PLR2004"]
"docs/*" = ["E402", "I001"]
"tests/*" = [
"S101",
"ARG001",
"PLR2004",
]
"docs/*" = [
"E402",
"I001",
]

[tool.ruff.lint.isort]
known-first-party = ["markitdown_mcp"]
known-first-party = [
"markitdown_mcp",
]
combine-as-imports = true

[tool.ruff.lint.flake8-pytest-style]
Expand Down Expand Up @@ -182,4 +208,4 @@ module = [
"psutil.*",
"memory_profiler.*",
]
ignore_missing_imports = true
ignore_missing_imports = true
Loading