Skip to content
Draft
Changes from 1 commit
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
56 changes: 56 additions & 0 deletions meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{% set name = "mcp_compose" %}

Choose a reason for hiding this comment

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

Should this be mcp-compose @echarles ?

Copy link
Member

Choose a reason for hiding this comment

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

mcp-compose looks nicer indeed :)

Copy link
Author

Choose a reason for hiding this comment

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

Will change it. I used mcp_compose because that is how it is in the pyproject.toml

name = "mcp_compose"


package:
name: {{ name|lower }}
version: {{ environ.get("PKG_VERSION") }}

source:
path: ..

build:
noarch: python
number: 0
script: |
python -m pip install --no-deps --no-build-isolation -vv .

Choose a reason for hiding this comment

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

Maybe change this to

script: "{{ PYTHON }} -m pip install . -vv" ?

Copy link
Author

Choose a reason for hiding this comment

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

I like the idea of using {{ PYTHON }} and am fine with removing the arguments as you prefer, although I would encourage keeping them. Since the recipe lists all the dependencies (so no need to consider pyproject.toml). As per the --no-build-isolation, we already have a predefined "host" environment containing exactly the build tools you want, so there is no need for pip to create a "sandbox" build environment.


requirements:
host:
- python >=3.10
- pip
- hatchling ~=1.21
run:
- python >=3.10
- pyjwt >=2.8.0
- cryptography >=41.0.0
- fastapi >=0.104.0
- httpx >=0.25.0
- importlib-metadata >=4.8.0
- psutil >=5.9.0
- pydantic >=2
- python-dotenv >=1.0.0
- sse-starlette >=1.8.0
- toml >=0.10.2
- typing-extensions >=4
- uvicorn >=0.24.0
- tomli >=2.0.0
- mcp[cli] >=1.2.1

Choose a reason for hiding this comment

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

Hi @romulorosa thanks for the PR!

It would be great to sort deps alphabetically as it make the erecipe much easier to parse and update in the future, thanks!

Copy link
Author

Choose a reason for hiding this comment

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

Sure thing.

I initially considered doing it dynamically (conda recipes support Jinja) based on pyproject.toml, but I noticed some syntax that cannot be directly translated into what conda expects (such as "tomli>=2.0.0; python_version < '3.11'",). That would help reduce maintenance costs.


test:
requires:
- pip
commands:
- python -c "import mcp_compose"
- mcp-compose --help

Choose a reason for hiding this comment

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

Would be nice to add

- pip check

here


about:
home: https://github.com/datalayer/mcp-compose
license: BSD-3-Clause
license_file: LICENSE
summary: "Composition server for the Model Context Protocol (MCP)."
doc_url: https://github.com/datalayer/mcp-compose
dev_url: https://github.com/datalayer/mcp-compose

Choose a reason for hiding this comment

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

I would recommend adding this sections as

  home: https://github.com/datalayer/mcp-compose
  summary: 'Composition server for the Model Context Protocol (MCP).'
  description: |
      A powerful, production-ready framework for composing and orchestrating Model
      Context Protocol (MCP) servers with advanced management capabilities, REST API,
      and modern Web UI.  # Remember to specify the license variants for BSD, Apache,
      GPL, and LGPL.
  license: MIT
  license_family: MIT
  license_file: LICENSE
  doc_url: https://github.com/datalayer/mcp-compose
  dev_url: https://github.com/datalayer/mcp-compose

Copy link
Author

Choose a reason for hiding this comment

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

No problem. Although the README says the repository is under BSD instead (https://github.com/datalayer/mcp-compose#-license)

Choose a reason for hiding this comment

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

Oh my bad, license, and license_family can be updated with the correct values!


extra:
recipe-maintainers:
- datalayer

Choose a reason for hiding this comment

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

Could you please add here also

@echarles 
@eleonorecharles 
@goanpeca

It would make it easier to copy paste the recipe in conda-forge

Copy link
Author

Choose a reason for hiding this comment

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

Will add all of them to the recipe. The @ is not supported tho