io.github.cr7258/elasticsearch-mcp-server
MCP server for interacting with Elasticsearch
io.github.cr7258/elasticsearch-mcp-server · Repository · version 2.0.15 · 316 stars · listed from registry
Install
The sweep installs into a clean prefix, but this is the command a user would run:
uvx elasticsearch-mcp-server
Results by platform
Linux
MCP handshake failed2026-11-09 · probed over pypi3 recorded runs, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Installed 51 packages in 40ms
Traceback (most recent call last):
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/bin/elasticsearch-mcp-server", line 6, in <module>
from src.server import elasticsearch_mcp_server
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/src/__init__.py", line 4, in <module>
from src.server import elasticsearch_mcp_server, opensearch_mcp_server, run_search_server
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/src/server.py", line 5, in <module>
from fastmcp import FastMCP
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/fastmcp/__init__.py", line 4, in <module>
from fastmcp.settings import Settings
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/fastmcp/settings.py", line 56, in <module>
class Settings(BaseSettings):
...<205 lines>...
] = None
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/pydantic/_internal/_model_construction.py", line 217, in __new__
set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver, namespace_info=namespace_info)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/pydantic/_internal/_model_construction.py", line 543, in set_model_fields
fields, pydantic_extra_info, class_vars, private_attributes = collect_model_fields(
~~~~~~~~~~~~~~~~~~~~^
cls, config_wrapper, ns_resolver, typevars_map=typevars_map, namespace_info=namespace_info
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/pydantic/_internal/_fields.py", line 504, in collect_model_fields
field_info = FieldInfo_.from_annotated_attribute(ann_type, assigned_value, _source=AnnotationSource.CLASS)
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/pydantic/fields.py", line 644, in from_annotated_attribute
field_info = FieldInfo._construct(
prepend_metadata + metadata if prepend_metadata is not None else metadata, **attr_overrides
)
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/pydantic/fields.py", line 743, in _construct
merged_field_info = cls(**merged_kwargs)
File "/home/runner/.cache/uv/archive-v0/SXej8OeXFfkQEsdN/lib/python3.14/site-packages/pydantic/fields.py", line 293, in __init__
raise TypeError('cannot specify both default and default_factory')
TypeError: cannot specify both default and default_factory
macOS
MCP handshake failed2026-11-09 · probed over pypi3 recorded runs, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Installed 51 packages in 309ms
Traceback (most recent call last):
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/bin/elasticsearch-mcp-server", line 6, in <module>
from src.server import elasticsearch_mcp_server
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/src/__init__.py", line 4, in <module>
from src.server import elasticsearch_mcp_server, opensearch_mcp_server, run_search_server
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/src/server.py", line 5, in <module>
from fastmcp import FastMCP
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/fastmcp/__init__.py", line 4, in <module>
from fastmcp.settings import Settings
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/fastmcp/settings.py", line 56, in <module>
class Settings(BaseSettings):
...<205 lines>...
] = None
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/pydantic/_internal/_model_construction.py", line 217, in __new__
set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver, namespace_info=namespace_info)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/pydantic/_internal/_model_construction.py", line 543, in set_model_fields
fields, pydantic_extra_info, class_vars, private_attributes = collect_model_fields(
~~~~~~~~~~~~~~~~~~~~^
cls, config_wrapper, ns_resolver, typevars_map=typevars_map, namespace_info=namespace_info
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/pydantic/_internal/_fields.py", line 504, in collect_model_fields
field_info = FieldInfo_.from_annotated_attribute(ann_type, assigned_value, _source=AnnotationSource.CLASS)
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/pydantic/fields.py", line 644, in from_annotated_attribute
field_info = FieldInfo._construct(
prepend_metadata + metadata if prepend_metadata is not None else metadata, **attr_overrides
)
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/pydantic/fields.py", line 743, in _construct
merged_field_info = cls(**merged_kwargs)
File "/Users/runner/.cache/uv/archive-v0/nRWrm_2s4ND2xa24/lib/python3.15/site-packages/pydantic/fields.py", line 293, in __init__
raise TypeError('cannot specify both default and default_factory')
TypeError: cannot specify both default and default_factory
Windows
MCP handshake failed2026-11-09 · probed over pypi3 recorded runs, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Installed 52 packages in 11.86s
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Scripts\elasticsearch-mcp-server.exe\__main__.py", line 4, in <module>
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\src\__init__.py", line 4, in <module>
from src.server import elasticsearch_mcp_server, opensearch_mcp_server, run_search_server
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\src\server.py", line 5, in <module>
from fastmcp import FastMCP
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\fastmcp\__init__.py", line 4, in <module>
from fastmcp.settings import Settings
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\fastmcp\settings.py", line 56, in <module>
class Settings(BaseSettings):
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\pydantic\_internal\_model_construction.py", line 217, in __new__
set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver, namespace_info=namespace_info)
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\pydantic\_internal\_model_construction.py", line 543, in set_model_fields
fields, pydantic_extra_info, class_vars, private_attributes = collect_model_fields(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\pydantic\_internal\_fields.py", line 504, in collect_model_fields
field_info = FieldInfo_.from_annotated_attribute(ann_type, assigned_value, _source=AnnotationSource.CLASS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\pydantic\fields.py", line 644, in from_annotated_attribute
field_info = FieldInfo._construct(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\pydantic\fields.py", line 743, in _construct
merged_field_info = cls(**merged_kwargs)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\ojnW7WQ2A6T2_EIf\Lib\site-packages\pydantic\fields.py", line 293, in __init__
raise TypeError('cannot specify both default and default_factory')
TypeError: cannot specify both default and default_factory
Badge
Paste this into the project README to show the current result:
[](https://doesitinstall.com/s/io.github.cr7258__elasticsearch-mcp-server.html)